MySQL 8.0.16 est la première version qui prend en charge les contraintes CHECK.
Lisez https://dev.mysql. com/doc/refman/8.0/en/create-table-check-constraints.html
Si vous utilisez MySQL 8.0.15 ou une version antérieure, la Référence MySQL Manuel dit :
Le
CHECK
La clause est analysée mais ignorée par tous les moteurs de stockage.
Essayez un déclencheur...
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 ;
J'espère que ça aide.