提问人:Joel Meador 提问时间:8/20/2008 最后编辑:MarkJoel Meador 更新时间:3/14/2016 访问量:82580
如何在 SQL Server 中重置增量标识的起始值
How do I reset an increment identity's starting value in 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
上一个:SQL Server 全文搜索
下一个:SQL Server 最大行大小
评论