首頁 > 後端開發 > php教程 > 如何在 PHP/MySQL 中檢索新插入行的 ID?

如何在 PHP/MySQL 中檢索新插入行的 ID?

Patricia Arquette
發布: 2024-12-04 20:05:19
原創
735 人瀏覽過

How to Retrieve the ID of a Newly Inserted Row in PHP/MySQL?

在PHP/MySQL 中檢索插入行的ID

在具有自動遞增id 欄位的MySQL 表中插入一行時,必須檢索新產生的id用於後續操作。

避免競爭條件

取得 id 的一種方法是在資料庫中查詢與插入資訊相符的行。但是,此方法引入了競爭條件,在執行查詢之前可能會插入另一行,從而導致結果不準確。

使用 mysqli_insert_id()

可靠的解決方案是利用 MySQL 的 LAST_INSERT_ID( ) 功能。 PHP 中的 mysqli_insert_id() 方法傳回目前連接的最後產生的 id。

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
登入後複製

一個操作中的多個查詢

另一種方法是在單一操作中執行多個查詢,利用 MySQL 的 LAST_INSERT_ID() 方法。這可以確保即使涉及多個表也能正確分配 id。

mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
登入後複製

此方法消除了擔心競爭條件的需要,並提供了一種可靠的方法來檢索插入行的 id。

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

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