重置Microsoft SQL Server 2008 R2中的自动增量

时间:2012-12-13 10:40:43

标签: sql-server-2008-r2 auto-increment identity-column

我创建了一个自动增量的主键。

  • 我添加了两行:ID=1, ID=2
  • 我删除了这两行。
  • 我添加了一个新行,但新行的ID为:ID=3

如何将自动增量重置或重启为1?

2 个答案:

答案 0 :(得分:58)

如果您使用DBCC CHECKIDENT命令:

 DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);

小心使用! - 这只会将IDENTITY重置为1 - 因此您的下一次插入将获得值1,然后是2,然后是3 - >并且你将在这里与你原先存在的价值3发生冲突!

IDENTITY只是按顺序列出数字 - 它确实确保没有冲突!如果您已有值 - 请重新设置为较低值!

答案 1 :(得分:17)

我正在使用 SQL Server 2012 ,而DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1)会在下一次插入时导致值2

因此,对于SQL Server 2012,将1更改为0以获取下一个记录插入的值1

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0);  -- value will be 1 for the next record insert