重置Microsoft SQL Server 2008 R2中的自增字段

35

我创建了一个自增主键。

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

如何将自增重置或重新开始以1为起点?

2个回答

63

如果您使用DBCC CHECKIDENT命令:

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

但是要小心使用!- 这只会将IDENTITY重置为1 - 所以您的下一个插入将获得值1,然后是2,然后是3->并且您将与此处预先存在的值3发生冲突!

IDENTITY仅按顺序分配数字 - 它并不以任何方式确保没有冲突! 如果您已经有值,请不要重新种子到较低的值!


我忘了告诉你,我正在使用管理工作室,所以我想用管理工作室重新设置它。 - victorio
3
只需打开新的查询窗口并执行此 T-SQL 命令即可! - marc_s
2
我正在使用SQL Server 2008,要将值重置为1,我必须在最后一个参数上放置0,然后执行以下命令:DBCC CHECKIDENT(“YourTableNameHere”,RESEED,0); - Marcelo Machado

21

我正在使用 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接