Ta bort från två tabeller samtidigt med en utlösare:
Utlösare används för att framtvinga dataintegritet i tabellerna. Du kan använda triggers för att ta bort från valfritt antal tabeller samtidigt.
Innan vi initierar triggers måste vi ändra mysql-avgränsningsoperatorn tillfälligt eftersom triggers använder semikolon ;
operatorn för att ange flera SQL-kommandon inom triggern.
Steg 1 Ändra aktuell avgränsare:
delimiter $$
Steg 2 Skapa utlösare:
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
$$
Steg 3 Återställ föregående avgränsare:
delimiter ;
Förklaring:
OLD
är ett inbyggt sökord och hänvisar till bloggtabellraden som vi tar bort. Mysql kör triggern blog_before_delete
när vi tar bort en post i bloggtabellen. Om avtryckaren misslyckas, rullas borttagningen tillbaka. Detta hjälper till att säkerställa Atomicitet, konsistens, isolering och hållbarhet
i vår databas.