如何将Microsoft SQL字段设置为标识,但将START设置为特定数字?
答案 0 :(得分:25)
在SQL Server中,当您将列声明为IDENTITY
列时,可以指定种子和增量。
种子值是从头开始的数字,增量是下一个数字的增量。
在此示例中,您从100开始,递增1:
column INT NOT NULL IDENTITY (100, 1)
如果要为现有表更改它(以便新记录从不同范围开始),请使用DBCC CHECKIDENT
。
在此示例中,表dbo.myTable
将以300的新种子开始:
DBCC CHECKIDENT ("dbo.myTable", RESEED, 300);
答案 1 :(得分:6)
看看this msdn post,您想要开始身份的值称为种子。
如果您想从GUI中执行此操作,那么您可以选择该列及其属性,在身份规范部分中查看IsIdentity并将其设置为true,然后查找Identity Seed并指定以下值你想要的,你也可以指定增量。
答案 2 :(得分:5)
对于现有表格,请使用:
DBCC CHECKIDENT('TableName', RESEED, 0);
您只需将起始编号替换为0。
对于新表使用:
CREATE TABLE [dbo].YourTableName(
[UID] [int] IDENTITY(1,1) NOT NULL,
...
)
其中1,1是起始编号和增量。
答案 3 :(得分:3)
DBCC CHECKIDENT (yourtable, reseed, 34)
答案 4 :(得分:1)
使用SET_IDENTITY_INSERT_ON插入您要开始的号码,然后将其关闭。