ПОКАЗ ТРИГГЕРОВ
Синтаксис
SHOW TRIGGERS [FROM db_name]
[LIKE 'pattern' | WHERE expr]
Описание
SHOW TRIGGERS перечисляет триггеры, в настоящее время определённые для таблиц в базе данных (по умолчанию, если не указан FROM оператор). Для выполнения этого оператора требуется TRIGGER привилегия (до MySQL 5.1.22 требовалась SUPER привилегия).
Оператор LIKE , если он присутствует в отдельности, указывает имена таблиц для сопоставления, и заставляет оператор отображать триггеры для этих таблиц. Операторы WHERE и LIKE можно использовать для выбора строк с помощью более общих условий, как описано в Расширенном SHOW.
Аналогичная информация хранится в таблице information_schema.TRIGGERS.
Если для одного действия определено несколько триггеров, то триггеры отображаются в порядке выполнения.
Примеры
Для триггера, определённого в Обзоре триггеров:
SHOW triggers Like 'animals' \G
*************************** 1. row ***************************
Trigger: the_mooses_are_loose
Event: INSERT
Table: animals
Statement: BEGIN
IF NEW.name = 'Moose' THEN
UPDATE animal_count SET animal_count.animals = animal_count.animals+100;
ELSE
UPDATE animal_count SET animal_count.animals = animal_count.animals+1;
END IF;
END
Timing: AFTER
Created: 2016-09-29 13:53:34.35
sql_mode:
Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
Вывод всех триггеров, связанных с определённой таблицей:
SHOW TRIGGERS FROM test WHERE `Table` = 'user' \G
*************************** 1. row ***************************
Trigger: user_ai
Event: INSERT
Table: user
Statement: BEGIN END
Timing: AFTER
Created: 2016-09-29 13:53:34.35
sql_mode:
Definer: root@%
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
SHOW triggers WHERE Event Like 'Insert' \G
*************************** 1. row ***************************
Trigger: the_mooses_are_loose
Event: INSERT
Table: animals
Statement: BEGIN
IF NEW.name = 'Moose' THEN
UPDATE animal_count SET animal_count.animals = animal_count.animals+100;
ELSE
UPDATE animal_count SET animal_count.animals = animal_count.animals+1;
END IF;
END
Timing: AFTER
Created: 2016-09-29 13:53:34.35
sql_mode:
Definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
-
character_set_client— значение переменной сессииcharacter_set_clientв момент создания триггера. -
collation_connection— значение переменной сессииcollation_connectionв момент создания триггера. -
Database Collation— сортировка базы данных, с которой связан триггер.
Эти столбцы были добавлены в MariaDB/MySQL 5.1.21.
Старые триггеры, созданные до MySQL 5.7 и MariaDB 10.2.3, содержат NULL в столбце Created.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/show-triggers/