Bonjour,
suite à l'insertion dans une base j'aimerais récupérer la clé (auto-incrémentée) qui a été générée. Je développe en c# et j'utilise un connecteur .net fourni par mysql.
Je ne trouve pas de documentation à ce sujet.
Merci pour votre aide.
Version imprimable
Bonjour,
suite à l'insertion dans une base j'aimerais récupérer la clé (auto-incrémentée) qui a été générée. Je développe en c# et j'utilise un connecteur .net fourni par mysql.
Je ne trouve pas de documentation à ce sujet.
Merci pour votre aide.
Bonjour,
Pourquoi ne pas simplement faire une requête Max des valeurs de ta colonne ?
Recherche un peu "last_insert_id()".....
D'abord parce que c'est pas forcément le max, ça dépend de l'algorithme utilisé pour générer la valeur
Ensuite parce que si d'autres processes travaillent sur la même base, il peut très bien y en avoir un qui insère autre chose entre le moment où tu insères et celui où tu récupères la valeur
Il faut utiliser la fonction LAST_INSERT_ID, comme expliqué ici :
http://stackoverflow.com/questions/4.../405922#405922
en gros tu rajoutes l'appel à LAST_INSERT_ID à la fin de ta requête :
Code:INSERT INTO ... VALUES... ; SELECT LAST_INSERT_ID();
Et tu exécutes ça avec ExecuteScalar pour récupérer la valeur renvoyée
Merci pour vos réponses.
Je connaissais last_insert_id, mais je suis plus spécialiste de JDBC qui propose des requêtes préparées qui disposent de méthodes fournissant la clé générée.
Je pensais qu'il en était de même en .net.
Mer'ci encore à tous