我创建了一个主键来自动递增。
- 我添加了两行:
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