Comme nous le savons tous, la fonction MySQL LAST_INSERT_ID() renvoie le dernier numéro de séquence généré, mais dans le cas d'une insertion sur plusieurs lignes, elle renverra le numéro de séquence généré par la ligne insérée la plus en avant .
mysql> Insert into Student(Name) values('Ram'),('Mohan'),('Aryan'); Query OK, 3 rows affected (0.03 sec) Records: 3 Duplicates: 0 Warnings: 0
La requête ci-dessus insère trois valeurs dans la table Student à l'aide d'une requête d'insertion multi-lignes. La valeur de la colonne "Id" peut être vérifiée à l'aide de la requête suivante -
mysql> Select * from Student; +----+-------+ | Id | Name | +----+-------+ | 1 | Raman | | 2 | Rahul | | 3 | Ram | | 4 | Mohan | | 5 | Aryan | +----+-------+ 5 rows in set (0.00 sec)
Cela signifie que Last_Insert_Id() doit renvoyer 5 en sortie, mais nous pouvons voir qu'elle renvoie la valeur 3 comme ci-dessous -
mysql> Select Last_Insert_Id(); +------------------+ | Last_Insert_Id() | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)
Elle renvoie valeur 3 car 3 Est la valeur de la première ligne insérée dans la requête d'insertion multi-lignes ci-dessus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!