たとえばEntity Frameworkを使用して挿入を試みた場合、更新するモデルに文字列値またはboolが設定されていない場合、モデル値はnullにできないため、これらのフィールドに挿入されるデフォルト値を処理する必要があります?
3 に答える
ALTERコマンドで列をNOT NULLとして設定している場合は、列のすべての値が null であってはならないことを確認する必要があります。そうしないと、デフォルト値を設定できます。ただし、CREATEコマンドの場合、任意の DML コマンドで null 値の挿入が制限されるため、デフォルト値を作成する必要はありません。
SQL Server で列の値を非 null に設定する場合、列の既定値を設定する必要がありますか?
制約を NOT NULL として設定している場合、その列に値を指定する必要があります。NULL のままにすることはできません。その列には任意のデフォルト値を指定できます。
列に毎回値を与えたくない場合は、その列にデフォルト値を設定することをお勧めします。それ以外の場合は、挿入ステートメントを作成するたびにその列に値を提供する必要があります。
既存の列をに設定していてNOT NULL
、それが事前にnull可能だった場合、次のいずれか
既存のすべての行には、すでにその列の値があります (または、この条件が満たされるようにテーブルを更新します)。
または、
NOT NULL
列にデフォルト値を指定して、を含む行がNULL
代わりにデフォルトで埋められるようにする必要があります
これら 2 つのオプションのいずれかを実行できます。