首頁 >資料庫 >mysql教程 >如何在SQL Server中取得最後插入的行ID?

如何在SQL Server中取得最後插入的行ID?

Barbara Streisand
Barbara Streisand原創
2025-01-13 13:26:43929瀏覽

How to Get the Last Inserted Row ID in SQL Server?

檢索 SQL Server 中最後插入的行的 ID

SQL Server 提供了一種簡化的方法來在插入記錄後取得新建立的 ID,這對於使用 IDENTITY 資料類型的表特別有用。

方法:

利用 IDENTITY 欄位

對於具有 INT IDENTITY(或 BIGINT IDENTITY)列的表,請使用下列 SQL 語句:

<code class="language-sql">INSERT INTO [dbo].[YourTable] ([columns...])
VALUES ([..........])

SELECT SCOPE_IDENTITY();</code>

說明:

  • INSERT 語句新增一行。
  • SCOPE_IDENTITY() 傳回目前執行中最近產生的 IDENTITY 值。

重要提示:

此方法在每次執行插入一行時效果最佳。 同時插入多行可能會導致不可預測的結果。

替代方法:

雖然 SCOPE_IDENTITY() 被廣泛使用,但還有其他選項:

  • @@IDENTITY:傳回目前會話最後產生的IDENTITY值,無論其他會話或作用域中的後續操作如何。
  • IDENT_CURRENT('table_name'):擷取指定表中計畫指派的下一個 IDENTITY 值。 這不是最後插入行的 ID,可能會有所不同。

有關這些方法的詳細比較及其細微差別,請參閱 Pinal Dave 這篇富有洞察力的文章:https://www.php.cn/link/c89f28fe875efcf36c8973a7f81bfbb0

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

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