CHECK
i vincoli non sono supportati da MySQL. Puoi definirli, ma non fanno nulla (a partire da MySQL 5.7).
Dal manuale :
Il CHECK
La clausola viene analizzata ma ignorata da tutti i motori di archiviazione.
La soluzione alternativa è creare trigger , ma non sono la cosa più semplice con cui lavorare.
Se desideri un RDBMS open source che supporti CHECK
vincoli, prova PostgreSQL
. In realtà è un ottimo database.