MySQL 8.0.16 è la prima versione che supporta i vincoli CHECK.
Leggi https://dev.mysql. com/doc/refman/8.0/en/create-table-check-constraints.html
Se utilizzi MySQL 8.0.15 o versioni precedenti, Riferimento MySQL Manuale dice:
Il CHECK
La clausola viene analizzata ma ignorata da tutti i motori di archiviazione.
Prova un trigger...
mysql> delimiter //
mysql> CREATE TRIGGER trig_sd_check BEFORE INSERT ON Customer
-> FOR EACH ROW
-> BEGIN
-> IF NEW.SD<0 THEN
-> SET NEW.SD=0;
-> END IF;
-> END
-> //
mysql> delimiter ;
Spero di esserti stato d'aiuto.