使用Alter命令设置主键自动增量

时间:2012-08-02 22:36:55

标签: sql sql-server-2008

  

可能重复:
  How do I add auto_increment to a column in SQL Server 2008

嘿所有我在gui中创建了表但是我忘了将主键设置为自动增量!该表的名称为Emp_CV

这样的事情:

alter table Emp_CV alter column Applicant_ID NOT NULL int AUTO_INCREMENT

我该怎么做到这一点? 我使用的是SQL Server 2008!

1 个答案:

答案 0 :(得分:1)

简短的回答是......你做不到。这是你必须做的:

  1. 确保没有人/没有人使用你的桌子。

  2. 添加一个新的整数列,该列将成为新的标识列。它必须允许空值,并且必须具有适当的标识值。

  3. 执行set identity_insert dbo.foo on - 必须指定您的表名。

  4. 使用现有标识列的值对其进行种子设定:

    更新dbo.foo设置new_id = id

  5. 删除现有标识列所参与的任何键/约束。

  6. 执行set identity_insert dbo.foo off

  7. 删除现有列。

  8. 更改新列,将其无效性更改为not null

  9. 执行命令dbcc checkident( {your-table-name-here} , reseed )

  10. 执行sp_rename并为新列提供与旧列相同的名称。

  11. 重新创建步骤#4中删除的键/约束。

  12. 可能希望在引用此表的任何存储过程上运行sp_recompile

  13. 容易!