sql >> Database teknologi >  >> RDS >> Mysql

MySQL-fejl:Kan ikke tilføje en fremmednøglebegrænsning?

Her refererer du til forkerte forgien REFERENCES users(from_uid) i sidste tabel.

FOREIGN KEY(from_uid) REFERENCES users(from_uid)

from_uid tilhører ikke users

Dette burde være

FOREIGN KEY(from_uid) REFERENCES users(uid)

din playLists table har primær nøglekombination af fire kolonner, så du skal angive alle disse fire kolonner som fremmed nøgle i u_share_pl table .

En anden sammensat nøgle som reference bør være en enkelt begrænsning som

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

Din sidste tabel Opret skal være:

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. Returner duplikerede poster

  2. Sådan får du en liste over måneder mellem to datoer i mysql

  3. Hvorfor ville rækker matche, men ikke blive ændret med en mysql-opdateringserklæring?

  4. Kan ikke oprette forbindelse til MySQL fra Java:NullPointerException inde i MySQL-driverforbindelseslogikken