Mysql
 sql >> база данни >  >> RDS >> Mysql

Ограничението CHECK в MySQL не работи

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 ;

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Произнася ли се „S-Q-L“ или „Продължение“?

  2. Съхраняване на изображение в blob база данни; извличане от db в Picturebox

  3. Как да редактирате MySQL файла my.cnf

  4. Внедряване на релационни бази данни на MySQL в Ubuntu 12.04 (Precise Pangolin)

  5. MySQLi count(*) винаги връща 1