Supprimer de deux tables à la fois avec un déclencheur :
Les déclencheurs sont utilisés pour appliquer l'intégrité des données dans les tables. Vous pouvez utiliser des déclencheurs pour supprimer de n'importe quel nombre de tables à la fois.
Avant d'initialiser les déclencheurs, nous devons modifier temporairement l'opérateur de délimitation mysql car les déclencheurs utilisent le point-virgule ;
opérateur pour spécifier plusieurs commandes sql dans le déclencheur.
Étape 1 Modifier le délimiteur actuel :
delimiter $$
Étape 2 Créer un déclencheur :
CREATE TRIGGER `blog_before_delete`
AFTER DELETE ON `blog`
FOR EACH ROW
BEGIN
DELETE FROM blog_tags where blogid = OLD.id;
DELETE FROM blog_comments where blogid = OLD.id;
END
$$
Étape 3 Restaurer le délimiteur précédent :
delimiter ;
Explication :
OLD
est un mot-clé intégré et fait référence à la ligne du tableau de blog que nous supprimons. Mysql exécute le déclencheur blog_before_delete
chaque fois que nous supprimons une entrée dans la table de blog. Si le déclencheur échoue, la suppression est annulée. Cela permet d'assurer atomicité, cohérence, isolation et durabilité
dans notre base de données.