Hier is je verwijzing naar verkeerde forgien REFERENCES users(from_uid)
in de laatste tafel.
FOREIGN KEY(from_uid) REFERENCES users(from_uid)
from_uid
behoren niet tot users
Dit zou moeten zijn
FOREIGN KEY(from_uid) REFERENCES users(uid)
je playLists table
heeft een primaire sleutelcombinatie van vier kolommen, dus u moet al deze vier kolommen opgeven als forieng-sleutel in u_share_pl table
.
Een andere samengestelde sleutel als referentie zou een enkele beperking moeten zijn, zoals
FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)
Uw laatste tafel Creëren zou moeten zijn:
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)
);