0

可能重复:
如何将 auto_increment 添加到 SQL Server 2008 中的列

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

像这样的东西:

alter table Emp_CV alter column Applicant_ID NOT NULL int AUTO_INCREMENT

我怎样才能做到这一点?我正在使用 SQL Server 2008!

4

1 回答 1

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在引用此表的任何存储过程上运行。

简单的!

于 2012-08-02T23:16:07.880 回答