sql >> Database teknologi >  >> RDS >> Mysql

CHECK-begrænsningen i MySQL virker ikke

MySQL 8.0.16 er den første version, der understøtter CHECK-begrænsninger.

Læs https://dev.mysql. com/doc/refman/8.0/da/create-table-check-constraints.html

Hvis du bruger MySQL 8.0.15 eller tidligere, er MySQL-referencen Manual siger:

CHECK klausulen analyseres, men ignoreres af alle lagermotorer.

Prøv en 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 ;

Håber det hjælper.



  1. Sådan tilføjes en DEFAULT-begrænsning til en eksisterende kolonne i SQL Server

  2. Hvordan sletter man fra udvalg i MySQL?

  3. Skaleringsløsninger til MySQL (replikering, klyngedannelse)

  4. Postgres-udløser efter indstik med adgang til NYT