既存のテーブルに新しい列を追加しようとしていますが、null 以外の列を挿入しようとするとエラーが発生し続けます。
大量のデータを含む既存のデータベースでこれがどのように問題になるかは理解していますが、私のデータベースにはまだデータがないため、なぜこのエラーが発生するのか混乱しています。
これに対する簡単な解決策はありますか (デフォルト値を追加したくありません)
既存のテーブルに新しい列を追加しようとしていますが、null 以外の列を挿入しようとするとエラーが発生し続けます。
大量のデータを含む既存のデータベースでこれがどのように問題になるかは理解していますが、私のデータベースにはまだデータがないため、なぜこのエラーが発生するのか混乱しています。
これに対する簡単な解決策はありますか (デフォルト値を追加したくありません)
デフォルト値を入力するか、null 以外の制約なしでフィールドを追加し、後でテーブルを変更して、フィールドにデータを入力した後に非 null 制約を追加するという 2 つのオプションがあります。
テーブルが空の場合、これは正常に機能します。
CREATE TABLE X(Y INT)
ALTER TABLE T ADD Y INT NOT NULL
一時的なデフォルトの制約を追加したり、テーブルが実際に要求されたように空でない場合を除いてNULL
、それを作成して作成する必要はありません。ALTER