sql身份问题

时间:2015-11-05 09:35:47

标签: sql sql-server database

我的列ID有标识列

CREATE TABLE EMP
(id int primary key identity(1,1),
name varchar(255));

问题是在10之后它给出值111然后112 为什么它没有给出11

2 个答案:

答案 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将删除数据,但不会更改标识值。