Từ Tài liệu MySQL :
InnoDB cho phép một ràng buộc khóa ngoại tham chiếu đến một khóa không phải là duy nhất. Đây là một phần mở rộng InnoDB cho SQL tiêu chuẩn.
Tuy nhiên, có một lý do thực tế để tránh khóa ngoại trên các cột không phải là duy nhất của bảng tham chiếu. Nghĩa là, ngữ nghĩa của "ON DELETE CASCADE" trong trường hợp đó là gì?
Việc xử lý các tham chiếu khóa ngoại đến các khóa không đơn nguyên hoặc khóa có chứa giá trị NULL không được xác định rõ (...) Bạn nên sử dụng các khóa ngoại chỉ tham chiếu đến khóa UNIQUE (bao gồm CHÍNH) và KHÔNG ĐỦ.