我的列ID有标识列
CREATE TABLE EMP
(id int primary key identity(1,1),
name varchar(255));
问题是在10之后它给出值111然后112 为什么它没有给出11
答案 0 :(得分:2)
这取决于您如何将数据插入其中。如果它简单INSERT INTO
并且没有别的东西,那就太奇怪了。
也许是MSSQL 2012服务器的问题?服务器重启时,有一个关于身份跳转的知识错误。
更多信息http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is
答案 1 :(得分:0)
无论原因是什么,您都可以使用DBCC CHECKIDENT命令重置您的标识列。
它接受参数以允许您将值重置为您想要的任何值。例如:
DBCC CHECKIDENT ('[TableNameHere]', RESEED, 11)
将列重置为11 - 您可以替换所需的任何数字作为最终参数。
使用TRUNCATE TABLE
也会重置任何标识列 - 但显然也会删除所有数据。使用DELETE
将删除数据,但不会更改标识值。