Khi nhận được thông báo lỗi mơ hồ này, bạn có thể tìm ra lỗi cụ thể hơn bằng cách chạy
SHOW ENGINE INNODB STATUS;
Các lý do phổ biến nhất là khi tạo khóa ngoại, cả trường được tham chiếu và trường khóa ngoài cần phải khớp với nhau:
- Động cơ phải giống nhau v.d. InnoDB
- Loại dữ liệu phải giống nhau và có cùng độ dài.
Ví dụ:VARCHAR (20) hoặc INT (10) UNSIGNED - Đối chiếu nên giống nhau. vd utf8
- Duy nhất - Khóa ngoại phải tham chiếu đến trường là duy nhất (thường là riêng tư) trong bảng tham chiếu.
Một nguyên nhân khác của lỗi này là:
Bạn đã xác định điều kiện SET NULL mặc dù một số cột được xác định là NOT NULL.