Maison >base de données >tutoriel mysql >Dans le cas d'insertions de plusieurs lignes, quel est l'impact sur le résultat de la fonction MySQL LAST_INSERT_ID() ?

Dans le cas d'insertions de plusieurs lignes, quel est l'impact sur le résultat de la fonction MySQL LAST_INSERT_ID() ?

WBOY
WBOYavant
2023-09-02 13:13:02819parcourir

在多行插入的情况下,对 MySQL LAST_INSERT_ID() 函数的输出有何影响?

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 .

Exemple

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer