首頁 > 資料庫 > mysql教程 > 如何在 JDBC 中執行 INSERT 操作後檢索自動產生的 ID?

如何在 JDBC 中執行 INSERT 操作後檢索自動產生的 ID?

Susan Sarandon
發布: 2025-01-23 18:53:10
原創
845 人瀏覽過

How to Retrieve Auto-Generated IDs After an INSERT Operation in JDBC?

在 JDBC 中插入後取得自動產生的 ID

在 JDBC 中,檢索 INSERT 語句產生的 ID 至關重要,特別是在使用自動遞增鍵或序列時。 本指南概述了實現此目的的幾種方法。

使用Statement.RETURN_GENERATED_KEYS

最直接的方法是利用 JDBC 的 Statement.RETURN_GENERATED_KEYS 標誌。 當與 PreparedStatementCallableStatement 一起使用時,這會指示驅動程式傳回新產生的金鑰。

範例:

<code class="language-java">PreparedStatement statement = connection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS);
// ... execute the INSERT statement ...

ResultSet generatedKeys = statement.getGeneratedKeys();
if (generatedKeys.next()) {
    long insertId = generatedKeys.getLong(1); // Get the first generated key
}</code>
登入後複製

資料庫特定解決方案:

如果您的資料庫或驅動程式不支援RETURN_GENERATED_KEYS,則需要特定於資料庫的查詢:

  • Oracle: 使用有 CallableStatement 子句的 RETURNING,或在 INSERT 之後執行 SELECT CURRVAL(sequencename) 查詢。
  • MySQL: 使用 SELECT LAST_INSERT_ID() 擷取最近插入的 ID。

JDBC 驅動程式相容性:

請記住,對 RETURN_GENERATED_KEYS 的支援可能會因 JDBC 驅動程式而異。請查閱驅動程式的文件以確認其功能。 老司機可能需要替代方法。

以上是如何在 JDBC 中執行 INSERT 操作後檢索自動產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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