Триггер в MySQL — поименованный объект БД, который ассоциирован с таблицей и активируемый при наступлении определенного события, события связанного с этой таблицей.
Такими событиями могут быть:
- INSERT — при операциях вставки или аналогичных ей выражениях (INSERT, LOAD DATA, и REPLACE)
- UPDATE — когда сущность (строка) модифицирована
- DELETE — когда запись удаляется (запросы, содержащие выражения DELETE и/или REPLACE)
Кроме того, для каждого события есть два варианта:
BEFORE — выполняется до исполнения команды. Допустим, при BEFORE INSERT могут быть изменены данные перед вставкой их в таблицу или рассчитаны дополнительные поля для вставки.
AFTER — данное событие вызывается, после завершения исполнения команды. Как правило, это событие используется для обновления статистических данных или вставки данных в другие таблицы.
Читать далее