【问题标题】:Prevent SQL Server IDENTITY grow on INSERT failure防止 SQL Server IDENTITY 在 INSERT 失败时增长
【发布时间】:2013-04-01 04:49:26
【问题描述】:

我注意到在 SQL Server 中,当 INSERT 失败时,IDENTITY ID 仍在增长。 这在 MySQL 中不是问题

这里是示例http://sqlfiddle.com/#!3/51b7d/8

如何防止这种情况发生? 谢谢

【问题讨论】:

  • 你不能直接。你为什么要这样做?
  • 我不确定。我来自 MySQL 背景,想在 SQL-Server 和 MySQL 之间进行同步

标签: sql-server identity sql-insert autogrow


【解决方案1】:

MySQL 和 SQL Server 都不保证紧凑的标识。这两种产品都可以而且将会在生成的身份中留下空白。这是MySQL SqlFiddle 证明 MySQL 可以留下空白。

既然你知道你的假设是不正确的,那么回到绘图板并改变你的设计,不要假设紧凑的身份。

【讨论】:

  • 你的小提琴表明 MySQL INSERT 是成功的。回滚并不意味着 INSERT 失败。
猜你喜欢
  • 2017-12-09
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
相关资源
最近更新 更多