首頁 > 資料庫 > mysql教程 > 在MySQL中插入多行後如何檢索ID?

在MySQL中插入多行後如何檢索ID?

Mary-Kate Olsen
發布: 2024-12-24 10:57:10
原創
351 人瀏覽過

How to Retrieve IDs After Inserting Multiple Rows in MySQL?

在MySQL 中透過ID 檢索插入多行

將資料插入MySQL 表通常透過LAST_INSERT_ID 傳回新建立行的ID ()功能。然而,在插入多行時,要取得 ID 陣列可能會很困難。

使用 InnoDB 進行批次插入

對於使用最新 MySQL 版本的 InnoDB 表,您可以使用LAST_INSERT_ID() 和 ROW_COUNT() 的組合來擷取插入的 ID。當 innodb_autoinc_lock_mode 設定為 0(傳統)或 1(連續)時,InnoDB 會為批次插入提供順序自動遞增 ID。

檢索 ID 範圍

假設批次插入聲明已執行:

INSERT INTO table (`column1`, `column2`) VALUES ..., ..., ...
登入後複製

您可以使用以下公式計算新插入的行的 ID範圍:

INSERTED_ID_RANGE = [LAST_INSERT_ID(), LAST_INSERT_ID() + ROW_COUNT() - 1]
登入後複製

範例

考慮以下批次插入:

INSERT INTO table (`column1`, `column2`)
VALUES (1, 'value 1'), (2, 'value 2'), (3, 'value 3');
登入後複製

假設LAST_INSERT_ID() 插入後為5,則插入的後為5,則插入的後為5,則插入的後為5,則插入的後為5,則插入的後為5,則插入的ID 範圍為:

[5, 5 + ROW_COUNT() - 1] = [5, 5 + 3 - 1] = [5, 7]
登入後複製

因此,插入的ID數組為 [5, 6, 7]。

以上是在MySQL中插入多行後如何檢索ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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