NOT NULL制約

カラムにNOT NULL制約を設定した場合、そのカラムの値としてNULLを格納することができなくなります。書式は次の通りです。

CREATE TABLE テーブル名(カラム名 NOT NULL, ...);

CREATE TABLE文を実行する時にカラムにNOT NULLを指定するとそのカラムにはNULLを格納できません。

具体的には次のように記述します。

create table product(id integer, name text not null);

サンプル

では実際に試してみます。

p10-1

「product」テーブルを作成し、「name」カラムにNOT NULL制約を設定しました。

ではデータをいくつか追加してみます。

p10-2

NOT NULL制約が設定されたカラムにNULLを格納しようとすると「SQL error: product.name may not be NULL」とエラー表示されます。

また明示的にNULLを指定しない場合でも単に対象のカラムに値を指定しない場合も同じように「SQL error: product.name may not be NULL」とエラー表示されます。

p10-3

なおPRIMARY KEY制約を設定したカラムの値にNULLを許可しないようにするにはPRIMARY KEY制約に加えてNOT NULL制約を合わせて指定して下さい。

p10-4