自动增量字段正在生成意外值

问题描述 投票:0回答:1

我创建了一个主键 User_Id,id 自动递增,但是我在该表中添加了新值,我在该列中得到了非常奇怪的值,例如 1014、1016...我在 MSSQL 数据库上工作

将值插入表中时!

c# .net sql-server database entity-framework
1个回答
0
投票

这是正常现象,可能会发生,因为插入作为事务的一部分回滚;身份确实不会回滚,如果您考虑一下:它不能,因为这意味着单个插入充当该表上的任何其他插入的全局事务锁,否则这些插入不会被锁定- 由于竞争发布的身份无法撤消:

  • 交易A(打开):插入,获取id 42
  • 交易B(打开):插入,获取id 43
  • 事务A:回滚

哎呀我们有 43 但没有 42

服务器也从不尝试回填之前的空白。

© www.soinside.com 2019 - 2024. All rights reserved.