NULLの扱い方

DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
  message VARCHAR(140), 
  -- likes INT
  -- likes INT NOT NULL
  likes INT DEFAULT 0
);

INSERT INTO posts (message, likes) VALUES 
  ('Thanks', 12),
  ('Arigato', 4),
  ('Merci', 4);

INSERT INTO posts (message) VALUES ('Gracias');

SELECT * FROM posts;
INSERT INTO posts (message) VALUES ('Gracias');

「message」に’Gracias’という値を挿入したい場合、上記のように追加できる。しかし、その場合、'likes'の値がNULLになる。

値が設定されていない場合にエラーを出したいのであれば、以下のように記述する。

likes INT NOT NULL

また、デフォルト値を設定したい場合、以下のようにする。

likes INT DEFAULT 0  \\この場合、'0'が代入される。