首頁  >  文章  >  資料庫  >  在多行插入的情況下,對 MySQL LAST_INSERT_ID() 函數的輸出有何影響?

在多行插入的情況下,對 MySQL LAST_INSERT_ID() 函數的輸出有何影響?

WBOY
WBOY轉載
2023-09-02 13:13:02697瀏覽

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

眾所周知,MySQL LAST_INSERT_ID() 函數傳回最新產生的序號,但在多行插入的情況下,它將傳回由最前面插入的行產生的序號。

範例

mysql> Insert into Student(Name) values('Ram'),('Mohan'),('Aryan');
Query OK, 3 rows affected (0.03 sec)
Records: 3 Duplicates: 0 Warnings: 0

上面的查詢借助多行插入查詢在 Student 表中插入三個值。可以藉助以下查詢來檢查列「Id」的值-

mysql> Select * from Student;

+----+-------+
| Id | Name  |
+----+-------+
| 1 | Raman  |
| 2 | Rahul  |
| 3 | Ram    |
| 4 | Mohan  |
| 5 | Aryan  |
+----+-------+

5 rows in set (0.00 sec)

這表示Last_Insert_Id() 必須傳回5 作為輸出,但我們可以看到它傳回值3,如下-

mysql> Select Last_Insert_Id();

+------------------+
| Last_Insert_Id() |
+------------------+
| 3                |
+------------------+

1 row in set (0.00 sec)

它回傳值3,因為3 是上述多行插入查詢中最先插入的行的值。

以上是在多行插入的情況下,對 MySQL LAST_INSERT_ID() 函數的輸出有何影響?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除