设置SQL Server数据库表自动增量字段的值

时间:2013-04-27 14:19:38

标签: sql-server-2008 auto-increment

我正在使用Microsoft SQL Server 2008.在数据库中,我有一个带有自动增量字段(ID)的表。我已经在表中插入了两行,因此下一行的ID将为3。 我想要做的是,当插入下一行时,它的ID的值为例如100.有没有办法做到这一点? (不要告诉我插入和删除97行)

如果不是,那么我可以尝试重新创建表,但是如何将ID的值初始设置为某个定义的值,即我希望它从100开始,而不是从1开始?

2 个答案:

答案 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的插入