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

MySQL:ERROR 1215 (HY000):Không thể thêm ràng buộc khóa ngoại

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.



  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:lỗi trong cú pháp SQL của bạn ... gần khóa ...?

  2. Định dạng ngày giờ không hợp lệ:1292 Giá trị ngày giờ không chính xác

  3. Cách lấy số ngày trong tháng trong MySQL

  4. Làm cách nào để chuyển đổi tệp MDB (Access) sang MySQL (hoặc tệp SQL thuần túy)?

  5. 2 Hàm trả về Tên tháng từ Ngày trong MySQL