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

ON DELETE CASCADE не работи в MySQL

Машината за съхранение на MyISAM не поддържа ограничения за външни ключове. Ограничението се анализира, но безшумно се игнорира.

За да решите проблема си, използвайте вместо това двигателя InnoDB (и за двете таблици).

CREATE TABLE ( ... ) ENGINE = InnoDB ... ;

Вместо да пускате вашите таблици и да ги създавате отново, можете също да промените механизма за съхранение:

ALTER TABLE myDB.app_info ENGINE = InnoDB;
ALTER TABLE myDB.tab_info ENGINE = InnoDB;

След смяната на двигателя ще трябва да добавите отново ограничението за външния ключ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Избиране на произволни редове с MySQL

  2. В MySQL, как да се изгради индекс, за да се ускори тази заявка?

  3. Как управлявате бази данни при разработка, тестване и производство?

  4. добре ли е да се съхранява десетична стойност като varchar в mysql?

  5. Play 2.4 - Slick 3.0.0 - DELETE не работи