首页 > 数据库 > mysql教程 > 如何在SQL Server中获取最后插入的行ID?

如何在SQL Server中获取最后插入的行ID?

Barbara Streisand
发布: 2025-01-13 13:26:43
原创
925 人浏览过

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 这篇富有洞察力的文章://m.sbmmt.com/link/c89f28fe875efcf36c8973a7f81bfbb0

以上是如何在SQL Server中获取最后插入的行ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板