yoannwyffels
Messages postés16Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention23 novembre 2004
-
22 avril 2004 à 10:26
papopipu
Messages postés2Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention 9 août 2012
-
9 août 2012 à 13:09
Bonjour,
J'aimerai pouvoir récupérer l'id de l'enregistrement que j'insére dans la base mysql (l'id étant de type autoincrement).
(En perl par exemple un simple dbh->{mysql_insertid} me retourne le dernier id inséré, mai en VB...C une autre histoire !)
Voici la ligne que j'utilise pour insérer mon enregistrement:
yoannwyffels
Messages postés16Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention23 novembre 2004 22 avril 2004 à 11:19
Bon ben j'ai trouvé...Pour ceux qui ne le savaient pas:
rs.Open "SELECT LAST_INSERT_ID() as newid", Form1.connMysql, adOpenStatic, adLockPessimistic
Do While Not rs.EOF
newid$ = rs!newid
MsgBox newid
rs.MoveNext
Loop
On utilise la fonction interne de mysql LAST_INSERT_ID et on la récupére dans un simple select...;)
papopipu
Messages postés2Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention 9 août 2012 9 août 2012 à 13:09
Pas terrible ... Beaucoup de tables peuvent avoir un auto incrément et on ne précise même pas laquelle. Dans un environnement très sollicité (beaucoup de postes) rien ne garanti, même en faisant ce select juste après l'insert, que l'on récupérera celui qu'on veut et pas un ultime dernier qui aura été traité entre l'insert et le select.