Yang dapat Anda lakukan adalah menerapkan pemicu pada Users
dan Team
tabel yang dijalankan setiap kali baris dihapus dari:
Tabel pengguna:
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 ;
Tabel tim:
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 ;
Apa yang akan dilakukan oleh pemicu ini adalah setiap kali catatan dihapus dari salah satu tabel ini, DELETE
operasi akan secara otomatis dijalankan pada Playlists
tabel menggunakan id
yang akan dihapus (melalui gabungan dalam).
Saya telah menguji ini dan bekerja dengan baik.