2009-12-08 11 views
7

'CompanyID int not null'という列を持つテーブルがあり、その既定値は10に設定されています。この既定値を1に変更するクエリを作成します。それ?列の既定値を変更する

ご協力いただければ幸いです。私はSQL Server 2000を使用しています。

+1

デフォルトで10に設定されている行を新しい値に設定するとしますか? (デフォルトで10に設定された行と10に手動で設定された行の違いを伝えることは難しいでしょう。) –

+0

テーブルにエントリがありません。 CompanyIDカラムのデフォルト値を1.soに変更して、テーブルにデータを挿入するたびにCompanyIDカラムに1を自動的に挿入する必要があります。デフォルト値は制約によって設定されます。 – user92027

答えて

1
ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT 1; 
+1

私はこれを試してみました、それは動作していません。エラーは 'キーワード' SET 'の近くに不正な構文です。' – user92027

+0

私はそれがSQL Server 2000でこのようにすることはできないと思います – Jonathan

9

まず、デフォルトで設定されているフィールドの「制約」の名前を見つけます。これを行うには、次のクエリを実行します。

EXEC sp_helpconstraint 'MyTable' 

次に、制約を削除して再追加できます。

私はあなたができる最善の制約を削除して再作成していると思います
ALTER TABLE dbo.MyTable 
DROP CONSTRAINT def_MyTable_CompanyID 
GO 

ALTER TABLE dbo.MyTable 
ADD CONSTRAINT def_MyTable_CompanyID DEFAULT (1) FOR CompanyID 
GO 
17

alter table dbo.yourTable 
drop constraint default_value_name_constraint 
go 
alter table dbo.yourTable 
add constraint default_value_name_constraint default YourValue for ColumnName 
go 
+1

ありがとう、私はうまくいきます。どうもありがとう。 – user92027

-1
ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT Pending; 

私は、MySQLでこれを試してみましたが、それは保留中

の近くにエラーを与えていましたそれで試しました。

ALTER TABLE tablename ALTER COLUMN CompanyID SET DEFAULT 'Pending'; 

うまくいきました。

関連する問題