如何在 SQL Server 中重置增量标识的起始值

How do I reset an increment identity's starting value in SQL Server

提问人:Joel Meador 提问时间:8/20/2008 最后编辑:MarkJoel Meador 更新时间:3/14/2016 访问量:82580

问:

我希望有一个很好的模板来在开发中执行此操作。如何在 SQL Server 中重置增量标识的起始值?

SQL Server 标识

评论


答:

134赞 Ryan Sampson 8/20/2008 #1
DBCC CHECKIDENT('TableName', RESEED, 0)
17赞 Keith 8/20/2008 #2

若要将标识设置为 100,请执行以下操作:

DBCC CHECKIDENT (MyTable, RESEED, 100)

评论

8赞 Kieren Johnstone 7/9/2010
顺便说一句,这意味着下一个标识是 101 - 因此“0”将插入的下一个标识重置为“1”。
0赞 Keith 7/9/2010
@Kieren Johnstone - 是的,它将继续从 100 开始编号,就好像刚刚添加了记录 100,所以下一个是 101。
36赞 Forgotten Semicolon 8/20/2008 #3

只是一句警告:

DBCC CHECKIDENT (MyTable, RESEED, 0)

如果未截断表,并且标识列是 PK,则在到达预先存在的标识时将出现错误。

例如,表中已有标识 (3,4,5)。然后,将标识列重置为 1。插入标识 2 后,下一次插入将尝试使用标识 3,这将失败。

评论

0赞 Simon_Weaver 12/11/2017
我不知道这里的截断指的是什么,但如果有疑问,可以查看现有的最高值是多少select max(customerid) from customers