NOT NULL制約

広告

カラムに格納する値としてNULLを禁止したい場合、カラムにNOT NULL制約を設定します。ここではNOT NULL制約の使い方について解説します。

NOT NULL成約をカラムに設定する場合、書式は次の通りです。

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

NOT NULL成約が設定されたカラムにはNULLを格納することができなくなります。

では実際に試してみます。次のようなテーブルを作成しました。「name」カラムにはNOT NULL成約が設定されています。

create table user(name text not null, address text);

p10-1

それではデータを追加してみます。「address」カラムにはNULLを格納することができます。

p10-2

「name」カラムにはNOT NULL成約が設定されているので、NULLを格納しようとすると「Error: NOT NULL constraint failed: user.name」というエラーが表示されます。

p10-3

NOT NULL成約が設定されたカラムに対して値を指定せずにデータを追加した場合も自動的にNULLを格納しようとするため同じエラーとなります。

p10-4

値の指定が必須なカラムなどに対してNOT NULL制約を設定されるようにされてみて下さい。

( Written by Tatsuo Ikura )