Saat kita membuat tabel dengan cara ini:
CREATE TABLE people (
age INT,
name CHAR(20)
);
SQL dengan bebas menerima nilai kosong sebagai catatan:
INSERT INTO people VALUES (null, null);
Ini mungkin menjadi masalah, karena sekarang kami memiliki baris dengan nilai nol:
age | name
-----+--------
37 | Flavio
8 | Roger
|
Untuk mengatasi ini, kita dapat mendeklarasikan batasan pada baris tabel kita. NOT NULL
mencegah nilai nol:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Jika kami mencoba menjalankan kueri ini lagi:
INSERT INTO people VALUES (null, null);
Kami akan mendapatkan kesalahan, seperti ini:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null).
Perhatikan bahwa string kosong adalah nilai bukan nol yang valid.