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

Lỗi MySQL:Không thể thêm ràng buộc khóa ngoại?

Đây là bạn tham chiếu sai cho người dùng REFERENCES users(from_uid) trong bảng cuối cùng.

FOREIGN KEY(from_uid) REFERENCES users(from_uid)

from_uid không thuộc về người dùng users

Đây phải là

FOREIGN KEY(from_uid) REFERENCES users(uid)

playLists table có tổ hợp khóa chính gồm bốn cột, vì vậy bạn nên cung cấp tất cả bốn cột này làm khóa forieng trong u_share_pl table .

Một khóa tổng hợp khác làm tham chiếu phải là một ràng buộc duy nhất như

FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)

Bảng cuối cùng của bạn Tạo phải là:

CREATE TABLE u_share_pl(
uid INT NOT NULL,
from_uid INT NOT NULL,
sid INT NOT NULL,
plname VARCHAR(20) NOT NULL,
plmdate DATE NOT NULL,
plmtime TIME NOT NULL,
PRIMARY KEY(uid, from_uid, plname, plmdate, plmtime),
FOREIGN KEY(uid) REFERENCES users(uid),
FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)
);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xử lý lỗi tạm thời trong .net core 2.1 MVC cho Cơ sở dữ liệu MySQL

  2. Cài đặt kích thước trang Innodb

  3. Mã hóa với PHP Mcrypt và Giải mã với MySQL aes_decrypt?

  4. Lỗi Android khi chuyển id của mục đã chọn vào listview bằng ContextMenu

  5. Quyền xem / cập nhật / quản lý tài nguyên lồng nhau của MySQL (bảng tổng hợp)