[SQL] Index des données insérées
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:
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:
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