我正在使用Microsoft SQL Server 2008.在数据库中,我有一个带有自动增量字段(ID)的表。我已经在表中插入了两行,因此下一行的ID将为3。 我想要做的是,当插入下一行时,它的ID的值为例如100.有没有办法做到这一点? (不要告诉我插入和删除97行)
如果不是,那么我可以尝试重新创建表,但是如何将ID的值初始设置为某个定义的值,即我希望它从100开始,而不是从1开始?
答案 0 :(得分:3)
当然可以:
SET IDENTITY_INSERT dbo.YourTable ON
INSERT INTO dbo.YourTAble(AutoIncID, ...other columns....)
VALUES(100, ......)
SET IDENTITY_INSERT dbo.YourTable OFF
使用SET IDENTITY_INSERT ... ON
启用将值显式插入IDENTITY
列。不过,别忘了把它关掉!在与SQL Server的连接中,一次只能有一个表具有此设置ON
另外:完成此操作后,现在您的当前IDENTITY
值将为100 - 因此您以正常方式插入的下一行(未激活SET IDENTITY_INSERT ON
)将获得标识值101,然后102等等
答案 1 :(得分:0)
或者您可以这样做:
dbcc checkident(“ YourTable”,RESEED,99)
这将插入下一个ID为100的插入