首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 中 `LAST_INSERT_ID()` 回傳 0?

為什麼 MySQL 中 `LAST_INSERT_ID()` 回傳 0?

Susan Sarandon
發布: 2025-01-02 12:49:40
原創
793 人瀏覽過

Why Does `LAST_INSERT_ID()` Return 0 in MySQL?

LAST_INSERT_ID() 在MySQL 中始終回傳0

問題概述:

使用常用方法向插入資料插入資料插入資料向(如插入NULL、0或空括號)並隨後查詢對於最後插入的ID (LAST_INSERT_ID()) 總是傳回 0。此問題同時影響 PHP 的 mysql_insert_id 和 PDO::lastInsertId()。

解決方案:

問題出在 MySQL phpmyadmin 設定檔。當 PersistentConnections 設定為 FALSE 時,將為每個查詢建立一個新的 CONNECTION_ID。這會使 LAST_INSERT_ID() 結果無效,因為它與先前的連接相關聯。

要解決此問題,請在 phpmyadmin 設定檔中將 PersistentConnections 設定為 TRUE。這可確保在多個查詢中保持相同的連接,從而允許 LAST_INSERT_ID() 準確地傳回最後插入的 ID。

其他資訊:

有關PersistentConnections 的影響,請參閱主題「每個查詢都會建立一個新的CONNECTION_ID()"。

致謝:

特別感謝 dnagirl 在識別此問題時提供的寶貴幫助。

以上是為什麼 MySQL 中 `LAST_INSERT_ID()` 回傳 0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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