首頁 >資料庫 >mysql教程 >MySQL INSERT/UPDATE 使用 ON DUPLICATE KEY 後如何取得行 ID?

MySQL INSERT/UPDATE 使用 ON DUPLICATE KEY 後如何取得行 ID?

Patricia Arquette
Patricia Arquette原創
2024-12-02 15:07:11888瀏覽

How to Get the Row ID After MySQL INSERT/UPDATE with ON DUPLICATE KEY?

使用重複鍵檢索INSERT/UPDATE 的行ID

問題:

問題:

如何在🎜>問題:

如何在🎜>問題:

如何在使用ON 執行INSERT 或UPDATE 後能否檢索行的ID MySQL 中的DUPLICATE KEY,無需執行單獨的查詢?

答案:

要實現此目的,您可以使用 LAST_INSERT_ID(expr) 函數作為解決方法。透過將表達式傳遞給此函數,您可以使 LAST_INSERT_ID 對更新有意義。

INSERT INTO table (a) VALUES (0)
ON DUPLICATE KEY UPDATE>

說明:

如連結的文件所述(https://web.archive.org/web/20150329004325/https://dev.mysql. com/doc/refman/5.0/en/insert-on-duplicate.html),LAST_INSERT_ID()通常只會回傳'成功插入的 ID。 但是,透過在 ON 中使用 LAST_INSERT_ID(expr) DUPLICATE KEY UPDATE 子句,您也可以使其對更新有意義。 例如,如果'id' 是您的AUTO_INCREMENT 列,您可以如下修改查詢:在這種情況下,如果找到並更新了現有記錄,則LAST_INSERT_ID(id) 將傳回更新的ID,或者如果找到並更新了現有記錄,則傳回新插入記錄的ID未發現重複項。

以上是MySQL INSERT/UPDATE 使用 ON DUPLICATE KEY 後如何取得行 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn