首頁 > 資料庫 > mysql教程 > MySQL多表插入後如何取得最後插入的ID?

MySQL多表插入後如何取得最後插入的ID?

Patricia Arquette
發布: 2024-12-10 14:24:12
原創
893 人瀏覽過

How to Retrieve the Last Inserted ID in MySQL After Multi-Table Inserts?

在MySQL 中檢索最後插入的ID 以進行多表插入

在處理多個資料庫表時,通常需要檢索最後插入的ID插入多個表後的ID。一個常見的場景是從第一個表中檢索最後插入的 ID,即使後續插入是到其他表中的。

考慮以下 SQL 查詢:

INSERT INTO table1 (title,userid) VALUES ('test',1);
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1);
SELECT LAST_INSERT_ID();
登入後複製

預設情況下,LAST_INSERT_ID( )會傳回最近表插入的最後插入的 ID,在本例中為 table2。要從table1 中檢索最後插入的ID,有幾種方法可用:

將最後插入的ID 儲存在變數中:

將值插入table1 並儲存變數中最後插入的ID:

SET @last_id_in_table1 = LAST_INSERT_ID();
登入後複製

後續插入其他表格不會影響該變量,從而允許稍後引用插入到table1 的最後一個 ID。

檢索最大ID:

另一種方法是在插入後從table1 中找到最大ID :

SELECT MAX(id) FROM table1;
登入後複製

這將返回最後插入的ID,即使已將其他表格插入

注意:檢索最大 ID 時,考慮潛在的競爭條件非常重要。如果另一個進程或連線同時向 table1 中插入值,則檢索到的最大 ID 可能無法準確反映最後插入的值。

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

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