Ето ви препращате грешно forgien REFERENCES users(from_uid)
в последната таблица.
FOREIGN KEY(from_uid) REFERENCES users(from_uid)
from_uid
не принадлежи на users
Това трябва да е
FOREIGN KEY(from_uid) REFERENCES users(uid)
вашата playLists table
има комбинация от първичен ключ от четири колони, така че трябва да предоставите всички тези четири колони като чужд ключ в u_share_pl table
.
Друг съставен ключ като препратка трябва да бъде едно ограничение като
FOREIGN KEY(from_uid,sid,plname,plmdate,plmtime) REFERENCES playlists(uid,sid,plname,plmdate,plmtime)
Последната ви таблица за създаване трябва да бъде:
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)
);