2017-02-13 9 views
0

テーブル内のいずれかの列の既存の既定値を更新する必要があります。SQL Server 2012の既定値を変更する

テーブル名:取引

カラム名:CURRENCY現在のデフォルト

値:使用できません新しい現在のデフォルト値:NA

誰かが私は更新できる方法を知って聞かせていただけます既存のデフォルト値を新しいデフォルト値に設定します。

は、私は以下のたstatmentsを使用してみましたが、彼らは私のために動作しません。

ALTER TABLE TRANSACTIONS ALTER COLUMN CURRENCY SET DEFAULT 'NA'; 

ALTER TABLE TRANSACTIONS ADD CURRENCY varchar(256) DEFAULT 'NA'; 

ALTER TABLE TRANSACTIONS MODIFY COLUMN CURRENCY VARCHAR(256) NOT NULL DEFAULT 'NA'; 

ALTER TABLE TRANSACTIONS CHANGE COLUMN CURRENCY CURRENCY VARCHAR(256) NOT NULL DEFAULT 'NA'; 

alter table TRANSACTIONS alter column CURRENCY set default 'NA'; 
+1

デフォルト値が悪いようです。 NULLに何が問題なの? – jarlh

+3

[SQL Serverで既定値を変更する]の重複している可能性があります(http://stackoverflow.com/questions/15547210/modify-default-value-in-sql-server) – Heinzi

+0

既定値は制約です。 [列SQLのDEFAULT制約を変更する]の可能な複製(0120-998-003) – dlatikay

答えて

1

は、デフォルト値の制約をドロップして再作成:

ALTER TABLE TRANSACTIONS DROP CONSTRAINT DF_TRANSACTIONS_CURRENCY 
GO 
ALTER TABLE TRANSACTIONS ADD CONSTRAINT DF_TRANSACTIONS_CURRENCY DEFAULT ('NA') FOR CURRENCY 
GO 

あなたがに「DF_TRANSACTIONS_CURRENCY」を変更する必要があります現在の制約の名前が異なる場合は、その名前を指定します。

関連する問題