Récupérer l'index ou clé primaired'une ligne ajoutée.

Résolu/Fermé
frk206 Messages postés 29 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 octobre 2016 - 17 oct. 2016 à 13:30
frk206 Messages postés 29 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 octobre 2016 - 18 oct. 2016 à 08:39
Bonjour,

Je suis débutant en programmation VB Net (VS2008), et j'aimerais connaitre une astuce ou une fonction qui me permet de récupérer l'index ou clé primaire d'une ligne que je vine juste d'ajouter dans une table de ma base de données MySQL. Tous en sachant que:
1-la colonne clé primaire est auto_incrément
2-plusieurs utilisateurs de soit disant " mon application" peuvent insérer des ligne dans cette table simultanément à partir de leur PC. C'est le but.
Donc l'idée est, après l'insertion de chaque ligne, j'aimerais savoir quel a été le numéro attribué à cette ligne avant q'une nouvelle autre ligne arrive dans la table.
Je pense que l’idée du LAST ou MAX des valeurs de cette colonne peut être trompeuse. Car si c'est après l'ajout qu'on réévalue le dernier numéro, une autre ligne pourra déjà être ajoutée entre temps.

Merci à vous
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
17 oct. 2016 à 14:30
Bonjour,

Mysql dispose d'une fonction qui retourne le LAST INSERT ID
https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id

0
frk206 Messages postés 29 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 octobre 2016
18 oct. 2016 à 07:39
Merci jordane45, je vais jeter un œil sur ce lien.
0
frk206 Messages postés 29 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 18 octobre 2016
18 oct. 2016 à 08:39
ça marche!

je n’aurais plus à réévaluer une requête pour récupérer le last ID (ce qui ne me convient pas, vu que cela pourrait provoquer une erreur d'intégrité de donnée si plusieurs utilisateurs ajoutent plusieurs enregistrement en même tant), c'est ma fonction INSERT INTO elle même qui va me retourner le LAST INSERT ID juste après avoir correctement inséré une ligne avant q'une autre nouvelle ligne arrive dans la table.

Mon problème est résolu.

Grand merci à Jordane.
0