Wat u kunt doen, is triggers implementeren op uw Users
en Team
tabellen die worden uitgevoerd wanneer rijen worden verwijderd uit:
Gebruikerstabel:
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 ;
Teamtabel:
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 ;
Wat deze triggers doen, is dat elke keer dat een record wordt verwijderd uit een van deze tabellen, een DELETE
bewerking wordt automatisch uitgevoerd op de Playlists
tabel met de id
die op het punt staat te worden verwijderd (via een inner join).
Ik heb dit getest en het werkt geweldig.