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

Résolu
frk206 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
frk206 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
Merci jordane45, je vais jeter un œil sur ce lien.
0
frk206 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
ç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