Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan MySQL:Tidak dapat menambahkan batasan kunci asing?

Ini referensi Anda salah untuk REFERENCES users(from_uid) di tabel terakhir.

FOREIGN KEY(from_uid) REFERENCES users(from_uid)

from_uid bukan milik users

Ini seharusnya

FOREIGN KEY(from_uid) REFERENCES users(uid)

playLists table memiliki kombinasi kunci utama dari empat kolom, jadi Anda harus menyediakan keempat kolom ini sebagai kunci forieng di u_share_pl table .

Kunci komposit lain sebagai referensi harus berupa batasan tunggal seperti

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

Tabel terakhir Anda Buat harus:

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. Penjelasan Kerangka Ketersediaan Tinggi MySQL – Bagian II:Replikasi Semisinkron

  2. Apakah ada cara yang lebih efisien untuk membuat pagination di Hibernate daripada menjalankan kueri pilih dan hitung?

  3. Tingkatkan WAMP ke MySQL 5.5?

  4. Mengimpor data excel ke database mysql

  5. Bagaimana cara membuat diagram lingkaran yang menampilkan jumlah sesuatu yang didaftarkan oleh setiap orang?