Sql 如何更改列的标识增量

Sql 如何更改列的标识增量,sql,sql-server,Sql,Sql Server,以下语句可以重置种子 DBCC CHECKIDENT('TableName',重新设定种子,1) 但这次我不得不改变它的增量。希望这能有所帮助 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或者您可以使用Sql Se

以下语句可以重置种子

DBCC CHECKIDENT('TableName',重新设定种子,1)

但这次我不得不改变它的增量。

希望这能有所帮助

 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

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


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

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

让TableA成为我们的实际表格

  • 创建表TableB(col1 INT-IDENTITY(1,2)不为NULL,col2 VARCHAR(10)为NULL)
  • 插入表格B,从表格A中选择col2
  • 下降表
  • sp_重命名为表B,表A
    您可以通过以下方式将自动增量重置为更高的值:

  • 将标识设置为“插入”禁用
  • 运行ID设置为要从中继续的insert语句
  • 将标识设置为“插入”
  • 删除所创建的行(假定只对递增种子执行此操作)
  • 比如,

    最后一个ID为10的表“人员”可以设置为从400000继续到400000

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

    这是一个“文档”错误。建议的语法将失败。不能更改标识的增量值。必须删除/重新创建列或表