2016-10-14 9 views
0

私はテーブルを持っていますTermID IDの指定と呼ばれる存在する列をNoからyesに変更するスクリプトが必要です。 列の所有権を使用しないでお勧めのスクリプトです。既存の列IDを変更するいいえはいSQL Server

+0

ドロップして再作成列 – Squirrel

+0

それを行うための別の方法を? –

+0

いいえ、他の方法はありません。 'Identity'機能を既存の列に「追加」することも、削除することもできません。列を作成(追加)するときにのみID機能を指定することができます –

答えて

1

、新しいID列を作成し、古い列からデータをコピーし、古い列を削除しますが

EXEC sp_RENAME 'MyTable.TermID' , 'TermID_OLD', 'COLUMN' 

ALTER TABLE MyTable 
    ADD TermID INT IDENTITY(1,1) NOT NULL 

SET IDENTITY_INSERT MyTable ON 

UPDATE MyTable 
SET TermID = TermID_OLD 

SET IDENTITY_INSERT MyTable OFF 

ALTER TABLE MyTable DROP COLUMN TermID_OLD 
関連する問題