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 這篇富有洞察力的文章://m.sbmmt.com/link/c89f28fe875efcf36c8973a7f81bfbb0
以上是如何在SQL Server中取得最後插入的行ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!