equids Posté 3 Décembre 2008 Posté 3 Décembre 2008 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
captain_torche Posté 3 Décembre 2008 Posté 3 Décembre 2008 Il te suffit d'utiliser la fonction mysql_insert_id(), elle est là pour ça
TheRec Posté 3 Décembre 2008 Posté 3 Décembre 2008 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
equids Posté 3 Décembre 2008 Auteur Posté 3 Décembre 2008 Il te suffit d'utiliser la fonction mysql_insert_id(), elle est là pour ça Tu l'utilises comment cette fonction ?
TheRec Posté 3 Décembre 2008 Posté 3 Décembre 2008 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.
equids Posté 3 Décembre 2008 Auteur Posté 3 Décembre 2008 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 ?
Kioob Posté 3 Décembre 2008 Posté 3 Décembre 2008 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).
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant