sql >> Databasteknik >  >> RDS >> Mysql

CHECK-begränsningen i MySQL fungerar inte

MySQL 8.0.16 är den första versionen som stöder CHECK-begränsningar.

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

Om du använder MySQL 8.0.15 eller tidigare, MySQL Reference Manual säger:

CHECK satsen tolkas men ignoreras av alla lagringsmotorer.

Prova 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 ;

Hoppas det hjälper.



  1. Vad gör sp_reset_connection?

  2. Hur man upptäcker UTF-8-tecken i en Latin1-kodad kolumn - MySQL

  3. 5 problemfria tips för att använda SQL UPDATE Statement med JOIN

  4. Skaffa språket som för närvarande används i SQL Server