NOT NULL
カラムをserver
というテーブルに追加したいと思います。問題は、テーブルにすでにレコードが含まれていることです。私がALTER TABLE server ADD COLUMN full_discovery_duration BIGINT NOT NULL
を呼び出すと、H2はfull_discovery_duration
がnullでないかもしれないと不平を言う。私はDEFAULT 0
を指定して問題を回避することができますが、私は将来の挿入のためにデフォルト値を必要としません。私はどうしたらいいですか?H2:レコードがあるテーブルにNOT NULLカラムを追加する
列をデフォルトで追加し、後続の文の列定義からDEFAULT 0
を削除する必要がありますか?より良い方法がありますか?
次の行を実行して、デフォルトの定義を取り除いています: 'ALTER TABLE server ADD COLUMN cached_discovery_duration BIGINT NOT NULL DEFAULT 0; ALTER TABLEサーバーALTER COLUMN cached_discovery_duration BIGINT NOT NULL; '最初の行は、値が '0'の列を追加します。 2行目でデフォルトが削除されます。 – Gili