Contrainte MySQL CHECK
Contrainte MySQL CHECK
La CHECK
contrainte est utilisée pour limiter la plage de valeurs qui peut être placée dans une colonne.
Si vous définissez une CHECK
contrainte sur une colonne, seules certaines valeurs seront autorisées pour cette colonne.
Si vous définissez une CHECK
contrainte sur une table, elle peut limiter les valeurs de certaines colonnes en fonction des valeurs d'autres colonnes de la ligne.
VÉRIFIER sur CRÉER TABLE
Le SQL suivant crée une CHECK
contrainte sur la colonne "Age" lors de la création de la table "Persons". La CHECK
contrainte garantit que l'âge d'une personne doit être de 18 ans ou plus :
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
Pour autoriser la dénomination d'une CHECK
contrainte et pour définir une
CHECK
contrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
VÉRIFIER sur ALTER TABLE
Pour créer une CHECK
contrainte sur la colonne "Age" alors que la table est déjà créée, utilisez le SQL suivant :
ALTER TABLE Persons
ADD CHECK (Age>=18);
Pour autoriser la dénomination d'une CHECK
contrainte et pour définir une
CHECK
contrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
DROP une contrainte CHECK
Pour supprimer une CHECK
contrainte, utilisez le SQL suivant :
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;