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 を使用しています。
短い答えは...できません。あなたがしなければならないことは次のとおりです。
誰もテーブルを使用していないことを確認してください。
新しい ID 列となる新しい整数列を追加します。null を許可し、適切な ID 値を持つ必要があります。
execute set identity_insert dbo.foo on
-- テーブル名を指定する必要があります。
既存の ID 列の値でシードします。
update dbo.foo set new_id = id
既存の ID 列が関与するすべてのキー/制約を削除します。
実行するset identity_insert dbo.foo off
既存の列を削除します。
新しい列を変更して、nullity を に変更しnot null
ます。
コマンドを実行しdbcc checkident( {your-table-name-here} , reseed )
ます。
実行sp_rename
して、新しい列に古い列と同じ名前を付けます。
手順 4 で削除したキー/制約を再作成します。
sp_recompile
このテーブルを参照するすべてのストアド プロシージャで実行したい場合があります。
簡単!