Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CHECK-Einschränkung in MySQL funktioniert nicht

MySQL 8.0.16 ist die erste Version, die CHECK-Einschränkungen unterstützt.

Lesen Sie https://dev.mysql. com/doc/refman/8.0/en/create-table-check-constraints.html

Wenn Sie MySQL 8.0.15 oder früher verwenden, die MySQL-Referenz Handbuch sagt:

Der CHECK -Klausel wird geparst, aber von allen Speicher-Engines ignoriert.

Versuchen Sie es mit einem 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 ;

Hoffe das hilft.