Was Sie tun können, ist, Trigger für Ihre Users
zu implementieren und Team
Tabellen, die ausgeführt werden, wenn Zeilen gelöscht werden, entweder aus:
Benutzertabelle:
DELIMITER $$
CREATE TRIGGER user_playlist_delete
BEFORE DELETE ON User FOR EACH ROW
BEGIN
DELETE a FROM Playlist a
INNER JOIN UserPlaylist b ON a.id = b.id AND b.userId = OLD.id;
END$$
DELIMITER ;
Teamtabelle:
DELIMITER $$
CREATE TRIGGER team_playlist_delete
BEFORE DELETE ON Team FOR EACH ROW
BEGIN
DELETE a FROM Playlist a
INNER JOIN TeamPlaylist b ON a.id = b.id AND b.teamId = OLD.id;
END$$
DELIMITER ;
Was diese Trigger tun, ist jedes Mal, wenn ein Datensatz aus einer dieser Tabellen gelöscht wird, ein DELETE
Der Vorgang wird automatisch auf den Playlists
ausgeführt Tabelle mit der id
das gerade gelöscht wird (über einen inneren Join).
Ich habe dies getestet und es funktioniert großartig.