Изтриване от две таблици наведнъж със задействане:
Тригерите се използват за налагане на целостта на данните в таблиците. Можете да използвате тригери за изтриване от произволен брой таблици наведнъж.
Преди да инициализираме тригерите, трябва временно да променим оператора за разделител на mysql, тъй като тригерите използват точка и запетая ;
оператор, за да посочите множество sql команди в тригера.
Стъпка 1 Промяна на текущия разделител:
delimiter $$
Стъпка 2 Създайте тригер:
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
$$
Стъпка 3 Възстановяване на предишния разделител:
delimiter ;
Обяснение:
OLD
е вградена ключова дума и се отнася до реда на таблицата на блога, който изтриваме. Mysql стартира тригера blog_before_delete
всеки път, когато изтрием запис в таблицата на блога. Ако спусъкът се провали, след това изтриването се връща назад. Това помага да се гарантира атомарност, последователност, изолация и издръжливост
в нашата база данни.