2017-03-20 4 views
0

私は以下のように新しい列をテーブルに追加しようとしていますが、エラーが表示されます。nullでない新しい列を追加する

ALTER TABLE YBC.POLICY_NON_FIN ADD COLUMN PAY_FREQ CHARACTER(2) NOT NULL; 

[エラー]スクリプトライン:26-27 ------------------------ ALTER TABLE文では、 3.67.28

だから私は追加することはできません=列 "PAY_FREQは" NOT NULLとして指定されていて、DEFAULT句のいずれかが指定されていないか、DEFAULT NULL .. SQLCODE = -193、SQLSTATE = 42601、ドライバとして指定されました変更ステートメント中にnullではありません。デフォルトとして追加することは必須ですか?

+1

だから、テーブルにはすでにデータがありますか?そして、あなたは 'NULL'にはならない列を追加していますが、デフォルト値を与えていません。だから、コラムにはどんな価値がありますか? – Lamak

答えて

2

デフォルトを指定します。追加しない場合は、nullとなります。

ALTER TABLE YBC.POLICY_NON_FIN 
    ADD COLUMN PAY_FREQ CHARACTER(2) NOT NULL default ''; 
+0

カラムを追加したら、デフォルト値を削除することができます: 'ALTER TABLE YBC.POLICY_NON_FIN ALTER COLUMN PAY_FREQ DROP DEFAULT' –

関連する問題