आप अपने Users
. पर ट्रिगर्स लागू कर सकते हैं और Team
तालिकाएँ जो तब निष्पादित होती हैं जब भी पंक्तियाँ इनमें से किसी से भी हटाई जाती हैं:
उपयोगकर्ता तालिका:
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 ;
टीम तालिका:
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 ;
ये ट्रिगर क्या करेंगे, हर बार इन तालिकाओं में से किसी एक से एक रिकॉर्ड हटा दिया जाता है, एक DELETE
ऑपरेशन स्वचालित रूप से Playlists
पर निष्पादित होगा id
. का उपयोग कर तालिका जिसे हटाया जा रहा है (एक आंतरिक जुड़ाव के माध्यम से)।
मैंने इसका परीक्षण किया है और यह बहुत अच्छा काम करता है।