sql >> Base de Datos >  >> RDS >> Mysql

La restricción CHECK en MySQL no funciona

MySQL 8.0.16 es la primera versión que admite restricciones CHECK.

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

Si usa MySQL 8.0.15 o anterior, la referencia de MySQL Manuel dice:

El CHECK la cláusula es analizada pero ignorada por todos los motores de almacenamiento.

Pruebe un activador...

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 ;

Espero que ayude.