J'ai d'abord créé une table comme
CREATE TABLE Customer (
SD integer CHECK (SD > 0),
Last_Name varchar (30),
First_Name varchar(30)
);
et a ensuite inséré des valeurs dans ce tableau
INSERT INTO Customer values ('-2','abc','zz');
MySQL ne montre pas d'erreur, il a accepté les valeurs.
0 votes
Partiellement d'accord. Étant donné que vous avez essayé de l'utiliser, on peut supposer que vous posiez les deux questions. En fait, la réponse que vous avez acceptée explique principalement pourquoi il ne fonctionne pas.
1 votes
Vous pouvez voter sur cette demande de fonctionnalité : bugs.mysql.com/bug.php?id=3464 mais elle n'a pas reçu d'attention depuis une décennie.
11 votes
Vous pouvez utiliser les contraintes CHECK dans MariaDB à partir de version 10.2.1 .
1 votes
Maintenant que MySQL 8.0.16 a enfin résolu ce problème, il serait temps de reconnaître également les spécifications REFERENCES en ligne ignorées silencieusement ( !) (l'autre grande incompatibilité de la norme SQL) : bugs.mysql.com/bug.php?id=102904 .
0 votes
Dans MySQL 8.x le support de CHECK CONSTRAINT est présent