NULLの許可

広告

テーブルを作成する時にカラムに対してNULLを格納する許可を与えるかどうかを指定します。書式は次の通りです。

CREATE TABLE db_name.tbl_name
  (col_name1 data_type1 NULL, col_name2 data_type2 NOT NULL, ...);

カラムのデータ型の後に「NOT NULL」を指定するとそのカラムにはNULLを格納することができなくなります。逆に「NULL」を指定するとそのカラムにはNULLを格納することができるようになります。どちらも指定しなかった場合のデフォルトは「NULL」です。

では実際に試してみます。次のようなテーブルを作成します。

mysql> create table nulltest(num1 int not null, num2 int null, num3 int);

p5-1

作成したテーブルのカラム情報を確認します。

p5-2

3つのカラムの中で「num1」カラムの「Null」列の値が「NO」になっていることが確認できます。

それではテーブルにデータを格納してみます。

mysql> insert into nulltest(num1, num2, num3) values(null, null, null);

p5-3

上記のように「num1」カラムにはNULLを格納できないためエラーが発生します。では別のデータを格納してみます。

mysql> insert into nulltest(num1, num2, num3) values(8, null, null);

p5-4

「num2」カラムと「num3」カラムの値はNULLのままですが、NULLを許可していますのでエラーとはならず無事データは追加されました。

p5-5

( Written by Tatsuo Ikura )