CASCADE
sẽ tuyên truyền sự thay đổi khi cha mẹ thay đổi. (Nếu bạn xóa một hàng, các hàng trong bảng bị ràng buộc tham chiếu đến hàng đó cũng sẽ bị xóa, v.v.)
SET NULL
đặt giá trị cột thành NULL khi một hàng mẹ biến mất.
RESTRICT
khiến việc cố gắng DELETE của một hàng mẹ không thành công.
CHỈNH SỬA:Bạn không hỏi về chúng, nhưng tiêu chuẩn SQL xác định hai hành động khác:SET DEFAULT
và NO ACTION
. Trong MySQL, NO ACTION
tương đương với RESTRICT
. (Trong một số DBMS, NO ACTION
là một kiểm tra hoãn lại, nhưng trong MySQL, tất cả các kiểm tra đều diễn ra ngay lập tức.) Trình phân tích cú pháp MySQL chấp nhận SET DEFAULT
, nhưng cả công cụ InnoDB và NDB đều từ chối những tuyên bố đó, vì vậy hãy SET DEFAULT
thực sự không thể được sử dụng cho một ON UPDATE
hoặc ON DELETE
ràng buộc.
Ngoài ra, lưu ý rằng các hành động khóa ngoại xếp tầng không kích hoạt các trình kích hoạt trong MySQL.