Database
 sql >> Base de données >  >> RDS >> Database

SQL, Gestion des cellules vides

Lorsque nous créons une table de cette manière :

CREATE TABLE people (
  age INT,
  name CHAR(20)
);

SQL accepte librement les valeurs vides comme enregistrements :

INSERT INTO people VALUES (null, null);

Cela peut poser problème, car nous avons maintenant une ligne avec des valeurs nulles :

 age |  name  
-----+--------
  37 | Flavio
   8 | Roger
     | 

Pour résoudre ce problème, nous pouvons déclarer des contraintes sur nos lignes de table. NOT NULL empêche les valeurs nulles :

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

Si nous essayons d'exécuter à nouveau cette requête :

INSERT INTO people VALUES (null, null);

Nous aurions une erreur, comme celle-ci :

ERROR:  null value in column "age" violates not-null constraint
DETAIL:  Failing row contains (null, null).

Notez qu'une chaîne vide est une valeur non nulle valide.