Aller au contenu

Connaitre l'identifiant d'une ligne SQL à son enregistrement


Sujets conseillés

Posté

Bonjour tout le monde,

je voudrais savoir si il y a une possibilité, après avoir effectué un insert de ligne dans une base MySql, de réccupérer l'identifiant de la ligne insérée.

J'ai un champs "numero", qui s'auto-incrémente, et lorsque j'insère un enregistrement, je voudrais savoir si il y a une possibilité de connaître ce numéro, sans forcément devoir faire une requête sur la table ?

Merci

Posté

Bonjour,

Et si tu veux faire cela directement dans une requête SQL (étant donné la section où tu as posté ton message) tu peux utiliser la fonction LAST_INSERT_ID.

Il faut juste faire attention à cela :

Si vous insérez plusieurs lignes au même moment avec une requête INSERT, LAST_INSERT_ID() retourne la valeur de la première ligne insérée. La raison à cela est que cela rend possible la reproduction facilement la même requête INSERT sur d'autres serveurs.
Source: Documentation MySQL 5.0
Posté

As-tu suivi le lien que t'as proposé captain_torche ? La page contient un exemple de code PHP pour l'utilisation de cette fonction.

Posté

Oui, mais l'exemple proposé ne montre pas comment utiliser l'intérieur des perenthèses de la fonction.

Et j'ai une question concernant cette fonction :

Si pendant le lapse de temps qui sépare l'INSERT dans la table, et le résultat de la fonction, il y a un nouvel enregistrement qui est inséré, est ce que la fonction retournera le premier INSERT ? ou est ce qu'elle retournera celle du dernier INSERT, qui n'est donc aps le numéro qu'on veut ?

Posté

Bah le "link_identifier" c'est le même que pour toutes les autres fonctions de l'extension MySQL, il s'agit de l'identifiant retourné par la fonction mysql_connect().

Sinon le last_insert_id(), comme son nom l'indique retourne l'identifiant du dernier insert (de la connexion courante).

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...