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

Các ràng buộc ON DELETE CASCADE được xử lý theo thứ tự nào?

Trong trường hợp đơn giản hơn, điều gì sẽ xảy ra nếu một bản ghi bị xóa khỏi Child và nó có một chú thích tham chiếu? Đó là điều không xác định, vì vậy dù sao thì các ràng buộc cũng không thành công.

Nếu xóa Con không xóa các Bác của nó, thì thay vào đó điều gì sẽ xảy ra? Uncle.childid không được để trống.

Điều bạn muốn là một trong ba điều sau:

  1. Uncle.childid có thể không có giá trị và bạn muốn BẬT XÓA THIẾT LẬP KHÔNG ĐỦ cho childid.
  2. Uncle.childid không được để trống và bạn muốn BẬT XÓA CASCADE cho childid.
  3. Childid không thuộc về Uncle và bạn muốn có quan hệ ChildsUncle với các ràng buộc khóa ngoại ON DELETE CASCADE cho cả Child và Uncle. Không rõ ràng sẽ là một khóa ứng cử viên cho mối quan hệ đó (tức là nó phải là duy nhất).


  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ử dụng các trường ảo để tính tổng các giá trị trong cakephp

  2. Hiển thị dữ liệu mysql trong bảng html PHP

  3. phân loại theo giá cao-thấp với dữ liệu mysql

  4. Một cách hiệu quả để lưu Mảng và các Khóa của nó vào cơ sở dữ liệu

  5. Loại bỏ các hàng trùng lặp trong MySQL