ID异常增量

时间:2016-07-13 05:42:19

标签: sql-server identity-column

我在SQL中创建了一个包含3列的表。 ID之一(带有标识规范)和另外两列。我正在通过c#应用程序将记录保存在2列中,因为ID列会自动增加。 所以直到第160个记录都很好,之后ID增量达到了1172,然后从那里开始增量,如1173,1174等等。

我不知道在创建表和ID列时是否做错了。无法理解。有人可以指导。我正在附上截图。

enter image description here

编辑:我使用查询修复了它。

DBCC CHECKIDENT (mytable, RESEED, 160)

现在ID列返回到161并递增+1。一切都好。

1 个答案:

答案 0 :(得分:0)

通常,如果在已回滚的事务中完成INSERT,您将看到此信息。这是您的方案的重复:

CREATE TABLE #Test (
  Id INT IDENTITY(1, 1) PRIMARY KEY, 
  Txt NVARCHAR(100)
);

INSERT INTO #Test (Txt) VALUES ('A'), ('B');

BEGIN TRAN mytran
INSERT INTO #Test (Txt) VALUES ('C'), ('D');
ROLLBACK TRAN mytran

INSERT INTO #Test (Txt) VALUES ('E'), ('F');

SELECT * FROM #Test;

DROP TABLE #Test;

这将输出:

Id  Txt
1   A
2   B
5   E
6   F

所以用' C'和' D'遗失,以及Id2之间的5字段中的差距。