Verwijderen van twee tafels tegelijk met een trigger:
Triggers worden gebruikt om de gegevensintegriteit in de tabellen af te dwingen. U kunt triggers gebruiken om van een willekeurig aantal tabellen tegelijk te verwijderen.
Voordat triggers worden geïnitialiseerd, moeten we de mysql-delimiter-operator tijdelijk wijzigen omdat triggers een puntkomma gebruiken ;
operator om meerdere sql-opdrachten binnen de trigger op te geven.
Stap 1 Huidig scheidingsteken wijzigen:
delimiter $$
Stap 2 Trigger maken:
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
$$
Stap 3 Herstel vorig scheidingsteken:
delimiter ;
Uitleg:
OLD
is een ingebouwd sleutelwoord en verwijst naar de blogtabelrij die we verwijderen. Mysql voert de trigger uit blog_before_delete
telkens wanneer we een item in de blogtabel verwijderen. I de trigger mislukt, dan wordt het verwijderen teruggedraaid. Dit zorgt voor Atomiciteit, consistentie, isolatie en duurzaamheid
in onze database.