如何将Microsoft SQL字段设置为标识,但将START设置为特定数字?

时间:2010-03-31 17:39:57

标签: sql sql-server identity

如何将Microsoft SQL字段设置为标识,但将START设置为特定数字?

5 个答案:

答案 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插入您要开始的号码,然后将其关闭。