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

ERRO 1215. MySql InnoDB

Tôi đã thử nghiệm việc tạo bảng của bạn.

Sau đó, tôi có thêm thông tin về lỗi khóa ngoại:

mysql> show engine innodb status\G

------------------------
LATEST FOREIGN KEY ERROR
------------------------
2018-02-20 14:51:33 700002d90000 Error in foreign key constraint of table calls/called:

    FOREIGN KEY (`Code`)
    REFERENCES `calls`.`city` (`Code`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `Number`
    FOREIGN KEY (`Number`)
    REFERENCES `calls`.`subscriber` (`Number`)
    ON DELETE CASCADE
    ON UPDATE CASCADE):
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
...

Tôi thấy sự cố:bạn có khóa chính ghép ở city trên các cột (Name, Code) . Đối với điều này, bạn phải tạo một tham chiếu đến ràng buộc khóa ngoại cả hai các cột của khóa chính của cha mẹ.

Như thế này:

CONSTRAINT `Name`
FOREIGN KEY (`Name`, `Code`)
REFERENCES `calls`.`city` (`Name`, `Code`)
ON DELETE CASCADE
ON UPDATE CASCADE

Không khai báo một ràng buộc cho mỗi cột - hãy khai báo một ràng buộc tham chiếu đến cả hai cột của khóa.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách đặt một mảng làm biến người dùng mysql

  2. Tìm nạp văn bản UTF-8 từ MySQL trong R trả về ????

  3. MySQL - Làm thế nào để tìm kiếm kết hợp từ chính xác bằng cách sử dụng LIKE?

  4. Cách tách văn bản được phân tách bằng dấu phẩy trong thủ tục được lưu trữ trong MySQL

  5. Yii2 - tham gia trái với nhiều điều kiện