1

既存のテーブルに新しい列を追加しようとしていますが、null 以外の列を挿入しようとするとエラーが発生し続けます。

大量のデータを含む既存のデータベースでこれがどのように問題になるかは理解していますが、私のデータベースにはまだデータがないため、なぜこのエラーが発生するのか混乱しています。

これに対する簡単な解決策はありますか (デフォルト値を追加したくありません)

4

3 に答える 3

2

デフォルト値を入力するか、null 以外の制約なしでフィールドを追加し、後でテーブルを変更して、フィールドにデータを入力した後に非 null 制約を追加するという 2 つのオプションがあります。

于 2013-06-20T19:12:53.673 に答える
1

テーブルが空の場合、これは正常に機能します。

CREATE TABLE X(Y INT)

ALTER TABLE T ADD Y INT NOT NULL

一時的なデフォルトの制約を追加したり、テーブルが実際に要求されたように空でない場合を除いてNULL、それを作成して作成する必要はありません。ALTER

于 2013-06-20T19:52:23.177 に答える