Как правильно построить триггер на удаление в mysql?

Пользователь

от margaret , в категории: SQL , 10 месяцев назад

Как правильно построить триггер на удаление в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от caterina , 9 месяцев назад

@margaret 

Для создания триггера на удаление в MySQL необходимо выполнить следующие шаги:

  1. Написать SQL-запрос для создания триггера, который будет выполняться при удалении записи из определенной таблицы.


Например, если требуется создать триггер на удаление из таблицы "users", запрос может выглядеть следующим образом:


CREATE TRIGGER delete_user_trigger AFTER DELETE ON users FOR EACH ROW BEGIN ... END;

  1. В теле триггера нужно определить действие, которое будет выполнено при удалении записи. Например, можно записать информацию об удаленной записи в лог-файл или выполнить другие операции.


Например, сохранить информацию о удаленных записях в другую таблицу, можно использовать следующий код:


CREATE TRIGGER delete_user_trigger AFTER DELETE ON users FOR EACH ROW BEGIN INSERT INTO deleted_users (user_id, username, deleted_at) VALUES (OLD.id, OLD.username, NOW()); END;

  1. Сохранить запрос в базу данных. Теперь при удалении записи из таблицы "users" будет вызываться триггер "delete_user_trigger", который запишет данные в таблицу "deleted_users".


Обратите внимание, что в триггере для обращения к столбцам той таблицы, на которую он навешан, используется ключевое слово OLD.