Als we een tabel op deze manier maken:
CREATE TABLE people (
age INT,
name CHAR(20)
); SQL accepteert vrijelijk lege waarden als records:
INSERT INTO people VALUES (null, null); Dit kan een probleem zijn, omdat we nu een rij hebben met null-waarden:
age | name
-----+--------
37 | Flavio
8 | Roger
|
Om dit op te lossen, kunnen we beperkingen op onze tabelrijen declareren. NOT NULL voorkomt null-waarden:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
); Als we deze query opnieuw proberen uit te voeren:
INSERT INTO people VALUES (null, null); We zouden een foutmelding krijgen, zoals deze:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null). Merk op dat een lege string een geldige niet-null-waarde is.