Когато създаваме таблица по този начин:
CREATE TABLE people (
age INT,
name CHAR(20)
); SQL свободно приема празни стойности като записи:
INSERT INTO people VALUES (null, null); Това може да е проблем, защото сега имаме ред с нулеви стойности:
age | name
-----+--------
37 | Flavio
8 | Roger
|
За да разрешим това, можем да декларираме ограничения върху редовете на нашата таблица. NOT NULL предотвратява нулеви стойности:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
); Ако се опитаме да изпълним тази заявка отново:
INSERT INTO people VALUES (null, null); Ще получим грешка, като тази:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null). Имайте предвид, че празен низ е валидна стойност, различна от нула.