27.3 Использование триггеров
Триггер — это именованный объект базы данных, связанный со таблицей и активируемый при возникновении определенного события в этой таблице. Триггеры могут использоваться для проверки значений, вставляемых в таблицу, или для выполнения вычислений над значениями при обновлении.
Триггер определяется для активации при выполнении операция вставки, обновления или удаления строк в связанной таблице. Эти операции над строками являются событиями триггера. Например, строки могут быть вставлены с помощью операторов INSERT или LOAD
DATA, и триггер вставки активируется для каждой вставленной строки. Триггер может быть настроен на активацию до или после события триггера. Например, можно настроить триггер на активацию перед вставкой каждой строки в таблицу или после обновления каждой строки.
Триггеры MySQL активируются только для изменений, вносимых в таблицы операторами SQL. Это включает изменения в базовые таблицы, лежащие в основе обновляемых представлений. Триггеры не активируются для изменений в таблицах, внесенных API, которые не передают операторы SQL в сервер MySQL. Это означает, что триггеры не активируются обновлениями, выполненными с помощью API NDB.
Триггеры не активируются при изменениях в таблицах INFORMATION_SCHEMA или performance_schema. Эти таблицы фактически являются представлениями, и триггеры на представлениях не разрешены.
В следующих разделах описан синтаксис создания и удаления триггеров, показаны примеры их использования и указано, как получить метаданные триггеров.
Дополнительные ресурсы
При работе с триггерами могут быть полезны форумы пользователей MySQL: MySQL User Forums.
Ответы на часто задаваемые вопросы о триггерах в MySQL см. в разделе A.5, «MySQL 8.4 FAQ: Триггеры».
Существуют некоторые ограничения на использование триггеров; см. раздел 27.8, «Ограничения на хранимые программы».
Логирование двоичных данных для триггеров происходит, как описано в разделе 27.7, «Логирование двоичных данных хранимых программ».
© 2025 Oracle
Licensed under the GPLv2 License.