NOT NULL制約の使い方

広告
eyecatch

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

NOT NULL制約とは

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

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

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

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

NOT NULL制約とは(1)

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

insert into user values('Honda', 'Tokyo');
insert into user values('Moriyama', null);

NOT NULL制約とは(2)

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

insert into user values(null, 'Osaka');

NOT NULL制約とは(3)

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

insert into user(address) values('Saitama');

NOT NULL制約とは(4)

データを追加するときに必ず値を設定する必要があるカラムに対して NOT NULL 制約を設定されるようにされてみて下さい。

SQLite入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。