MySQL non implementa i vincoli CHECK. Dal ultimo (5.6) manuale di multa :
Quindi la sintassi viene analizzata per la compatibilità con altri SQL ma il controllo non è implementato.
Potresti falsificare il tuo vincolo CHECK con BEFORE INSERT e BEFORE UPDATE trigger che ha lanciato un'eccezione se la condizione desiderata non è stata soddisfatta.