嘿,我在 gui 中创建了表,但是我忘记将主键设置为自动增量!表的名称是Emp_CV
。
像这样的东西:
alter table Emp_CV alter column Applicant_ID NOT NULL int AUTO_INCREMENT
我怎样才能做到这一点?我正在使用 SQL Server 2008!
嘿,我在 gui 中创建了表,但是我忘记将主键设置为自动增量!表的名称是Emp_CV
。
像这样的东西:
alter table Emp_CV alter column Applicant_ID NOT NULL int AUTO_INCREMENT
我怎样才能做到这一点?我正在使用 SQL Server 2008!
简短的回答是……你不能。这是你必须做的:
确保没有人/没有人在使用您的桌子。
添加一个新的整数列,它将成为新的标识列。它必须允许空值并且必须具有适当的标识值。
执行set identity_insert dbo.foo on
——必须指定你的表名。
使用现有标识列的值播种它:
更新 dbo.foo 设置 new_id = id
删除现有标识列参与的任何键/约束。
执行set identity_insert dbo.foo off
删除现有列。
更改新列,将其无效性更改为not null
。
执行命令dbcc checkident( {your-table-name-here} , reseed )
。
执行sp_rename
并赋予新列与旧列相同的名称。
重新创建在步骤 #4 中删除的键/约束。
可能希望sp_recompile
在引用此表的任何存储过程上运行。
简单的!