Bonjour,
je suis en train de créer un petit script Python qui devra insérer des données dans une base de données MySQL.
Je gère la connexion à la base avec le fichier clsSQL.py donné ci-dessous :
Ma requête est exécutée ainsi (par exemple) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 ### # Methodes de connexion a la base MySQL ## import MySQLdb class clsSQL: def __init__(self, db, user, passwd, host, port=3306): try: self.connexion = MySQLdb.connect(db=db, user=user, passwd=passwd, host=host, port=port) except Exception, err: print 'Erreur de connexion SQL' % err self.echec = 1 else: # Creation du curseur self.cursor = self.connexion.cursor() self.echec = 0 def executequery (self,qry): try: self.cursor.execute(qry) except Exception, err: print 'Erreur execution SQL' % err return 0 else: return 1 def commit(self): if self.connexion: self.connexion.commit() def close(self): if self.connexion: self.connexion.close() def display_all(self): return self.cursor.fetchall()
J'ai ensuite besoin de récupérer le champ index (qui est un entier auto-incrémenté) pour réaliser un traitement ultérieur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 bdd = clsSQL(db,user,passwd,host) query = "INSERT INTO `mabase`.`matable` (`index` ,`champ1` ,`champ2` ,`champ3`) VALUES (NULL , '10' , '20', NULL);" bdd.executequery(query) bdd.display_all()
Y a-t-il un moyen pour le faire ? Cela se ferait au niveau de Python ou par requête SQL ? (n'étant expert ni dans l'un ni dans l'autre...)
Merci pour vos réponses et bon week-end !
Alban
Partager