如何更改列的标识增量

时间:2009-05-07 08:08:59

标签: sql sql-server

以下语句可以重置种子

DBCC CHECKIDENT('TableName',RESEED,1)

但这次我必须改变它的增量。

4 个答案:

答案 0 :(得分:1)

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

Identity Increment in Sql Server Management Studio

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

答案 1 :(得分: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

答案 2 :(得分: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;

答案 3 :(得分:0)

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

  1. 关闭IDENTITY_INSERT
  2. 运行ID设置为您要从何处继续的插入语句
  3. 将IDENTITY_INSERT设置为
  4. 删除创建的行(假设这样做只是为了增加种子)

例如;

最后一个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