PaliSkill
SQL Intermédiaire

Leçon 2 / 10 — Chapitre 5: Définir et faire évoluer une table

NOT NULL et UNIQUE : deux contraintes simples

Une contrainte impose une règle sur les données d'une colonne, vérifiée automatiquement à chaque écriture.

CREATE TABLE abonnes (
  id INTEGER,
  nom TEXT NOT NULL,
  email TEXT UNIQUE,
  date_inscription DATE
);

NOT NULL interdit toute valeur manquante dans la colonne : un INSERT sans valeur pour nom échoue. UNIQUE interdit deux lignes avec exactement la même valeur non-NULL dans email — mais, subtilité fréquente, UNIQUE seul n'empêche pas plusieurs lignes d'avoir email à NULL en même temps : deux NULL ne sont jamais considérés comme égaux entre eux, même sous une contrainte UNIQUE.

À retenir :

  • NOT NULL interdit toute valeur manquante dans la colonne concernée.
  • UNIQUE interdit deux lignes avec la même valeur non-NULL — mais n'interdit pas plusieurs NULL dans la même colonne.
  • Combiner UNIQUE NOT NULL sur une colonne garantit à la fois l'unicité et l'absence de valeur manquante.

À vous de jouer : ajoutez NOT NULL à la colonne email de cette table, et déterminez si cela change le comportement décrit pour les valeurs NULL.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès