Odstranění ze dvou tabulek najednou pomocí spouštěče:
Spouštěče se používají k vynucení integrity dat v tabulkách. Spouštěče můžete použít k odstranění z libovolného počtu tabulek najednou.
Před inicializací spouštěčů musíme dočasně změnit operátor oddělovače mysql, protože spouštěče používají středník ;
operátor k zadání více příkazů SQL v rámci spouštěče.
Krok 1 Změna aktuálního oddělovače:
delimiter $$
Krok 2 Vytvořte spouštěč:
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
$$
Krok 3 Obnovení předchozího oddělovače:
delimiter ;
Vysvětlení:
OLD
je vestavěné klíčové slovo a odkazuje na řádek tabulky blogu, který odstraňujeme. Mysql spustí spouštěč blog_before_delete
kdykoli odstraníme položku v tabulce blogu. Pokud spoušť selže, odstranění se vrátí zpět. To pomáhá zajistit atomicitu, konzistenci, izolaci a trvanlivost
v naší databázi.