MySQL 8.0.16 > は、CHECK制約をサポートする最初のバージョンです。
https://dev.mysqlをお読みください。 com / doc / refman / 8.0 / en / create-table-check-constraints.html
MySQL 8.0.15以前を使用している場合、MySQLリファレンスマニュアル 言う:
CHECK
句は解析されますが、すべてのストレージエンジンで無視されます。
トリガーを試してください...
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 ;
お役に立てば幸いです。