MySQL n'implémente pas les contraintes CHECK. À partir du le dernier manuel fin (5.6) :
Ainsi, la syntaxe est analysée pour la compatibilité avec d'autres SQL, mais la vérification n'est pas implémentée.
Vous pouvez simuler votre contrainte CHECK avec les déclencheurs BEFORE INSERT et BEFORE UPDATE qui ont jeté une exception si la condition souhaitée n'était pas remplie.