如何更改列的身份增量

4

以下语句可以重置种子:

DBCC CHECKIDENT ('TableName', RESEED, 1)

但这次我需要改变它的增量。

4个回答

1

或者你可以使用Sql Server Management Studio:

Identity Increment in Sql Server Management Studio

使用这种方法很可能会重新创建表。

0
希望这能帮到你。
 ALTER TABLE MyCustomers 
 ALTER COLUMN CustId IDENTITY (200, 2)

来自ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/ssmprog3/html/5719d3e4-14db-4073-bed7-d08f39416a39.htm的代码


11
这是一个"文档"错误。建议的语法将失败。您无法更改标识列的自增长值。您必须删除/重新创建该列或表。 - Nick Kavadias

0

我们无法更新列的标识以使每个条目增加2。最简单的方法是创建另一个带有IDENTITY(1,2)的表,并在删除实际表之前将数据移动到该表中。请查看下面的脚本。

假设TableA是我们的实际表。

  1. CREATE TABLE TableB(col1 INT IDENTITY (1,2) NOT NULL, col2 VARCHAR(10) NULL);
  2. INSERT INTO TableB SELECT col2 FROM TableA;
  3. DROP TABLE TableA;
  4. sp_rename TableB, TableA;

0

您可以通过以下步骤将自动增量重置为更高的值:

  1. 关闭IDENTITY_INSERT
  2. 运行一个插入语句,将ID设置为你想要继续的位置
  3. 打开IDENTITY_INSERT
  4. 删除创建的行(假设它只是为了增加种子)

例如;

表格“People”的最后一个ID = 10,可以通过以下方式设置从400,000继续:

SET IDENTITY_INSERT AccessToken off
insert into People(Id, name) values (400000,'Bob')
SET IDENTITY_INSERT AccessToken on
Delete from People where ID = 400000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接