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中文网其他相关文章!