我创建了一个自增主键。
- 我添加了两行:
ID=1, ID=2
- 我删除了这两行。
- 我添加了一行新数据,但是这一行的ID是:
ID=3
如何将自增重置或重新开始以1为起点?
我创建了一个自增主键。
ID=1, ID=2
ID=3
如何将自增重置或重新开始以1为起点?
如果您使用DBCC CHECKIDENT
命令:
DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);
但是要小心使用!- 这只会将IDENTITY
重置为1 - 所以您的下一个插入将获得值1,然后是2,然后是3->并且您将与此处预先存在的值3发生冲突!
IDENTITY
仅按顺序分配数字 - 它并不以任何方式确保没有冲突! 如果您已经有值,请不要重新种子到较低的值!
我正在使用 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