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 :
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()
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
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()
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.
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