CHECK
ograniczenia nie są obsługiwane przez MySQL. Możesz je zdefiniować, ale nic nie robią (od MySQL 5.7).
Z podręcznika :
CHECK
klauzula jest analizowana, ale ignorowana przez wszystkie silniki pamięci masowej.
Rozwiązaniem jest utworzenie wyzwalaczy , ale nie są one najłatwiejsze w obsłudze.
Jeśli potrzebujesz RDBMS o otwartym kodzie źródłowym, który obsługuje CHECK
ograniczeń, wypróbuj PostgreSQL
. Właściwie to bardzo dobra baza danych.