Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ON DELETE CASCADE không hoạt động trong MySQL

Công cụ lưu trữ MyISAM không hỗ trợ các ràng buộc khóa ngoại. Ràng buộc được phân tích cú pháp nhưng bị bỏ qua một cách im lặng.

Để khắc phục sự cố của bạn, hãy sử dụng công cụ InnoDB thay thế (cho cả hai bảng).

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

Thay vì bỏ bảng của bạn và tạo lại chúng, bạn cũng có thể thay đổi công cụ lưu trữ:

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

Sau khi thay đổi công cụ, bạn sẽ cần thêm lại ràng buộc khóa ngoại.




  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 COUNT (*) trên nhiều bảng

  2. Làm thế nào để lấy khóa chính của bảng?

  3. Cập nhật giá trị cột, thay thế một phần của chuỗi

  4. Cách chạy nhiều phiên bản MySQL trên cùng một máy

  5. Cột không xác định của Laravel 'updated_at'