首頁 > 資料庫 > mysql教程 > LAST_INSERT_ID() 在 MySQL 中插入多筆記錄時如何表現?

LAST_INSERT_ID() 在 MySQL 中插入多筆記錄時如何表現?

Barbara Streisand
發布: 2024-11-11 13:05:03
原創
497 人瀏覽過

How Does LAST_INSERT_ID() Behave with Multiple Record Inserts in MySQL?

理解LAST_INSERT_ID() 多重記錄插入的行為

在MySQL 中處理多記錄插入時,必須理解LAST_INS_INSID(INS) 的行為。 () 函數。與單一記錄插入不同,LAST_INSERT_ID() 在與多重記錄插入語句一起使用時表現出獨特的行為。

預期行為

直觀上,人們可能會期望 LAST_INSERT_ID( ) 函數會傳回多記錄插入的最後插入的 ID。然而,事實並非如此。

實際行為

如MySQL 文件中所述,LAST_INSERT_ID() 將只傳回為產生的ID row 插入多記錄插入語句中。這是故意為了在不同伺服器上輕鬆複製相同的語句。

例如,考慮以下多記錄插入語句:

INSERT INTO people (name,age)
VALUES ('William',25), ('Bart',15), ('Mary',12);
登入後複製

即使它插入了三行, LAST_INSERT_ID() 將傳回「William」的ID,因為它代表第一個插入的記錄。

對程式碼的影響

此行為會對您的程式碼產生影響。如果您依賴 LAST_INSERT_ID() 來擷取多記錄插入中所有插入記錄的 ID,則您將只獲得第一筆記錄的 ID。為了準確檢索所有插入記錄的 ID,您可以將 RETURNING 子句與 INSERT 語句結合使用,或考慮其他方法,例如使用循環逐條插入記錄。

以上是LAST_INSERT_ID() 在 MySQL 中插入多筆記錄時如何表現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板