15.7.7.39 显示触发器语句
SHOW TRIGGERS
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW TRIGGERS
列出当前数据库中定义的触发器(除非使用 FROM
子句)。该语句只返回对您具有 TRIGGER
权限的数据库和表的结果。使用 LIKE
子句可以指定要匹配的表名(不包括触发器名),从而显示这些表的触发器。使用 WHERE
子句可以选择行使用更一般的条件,详见 Section 28.8, “Extensions to SHOW Statements”。
对于在 Section 27.3, “Using Triggers” 中定义的 ins_sum
触发器,SHOW TRIGGERS
的输出如下所示:
mysql> SHOW TRIGGERS LIKE 'acc%'\G
*************************** 1. row ***************************
Trigger: ins_sum
Event: INSERT
Table: account
Statement: SET @sum = @sum + NEW.amount
Timing: BEFORE
Created: 2018-08-08 10:10:12.61
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
Definer: me@localhost
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
Database Collation: utf8mb4_0900_ai_ci
SHOW TRIGGERS
输出具有这些列:
-
Trigger
触发器的名称。
-
Event
触发器事件。这是对关联表执行的操作类型,触发器激活时的类型。值为
INSERT
(插入了一行)、DELETE
(删除了一行)或UPDATE
(修改了一行)。 -
Table
触发器定义的表。
-
Statement
触发器体,即触发器激活时执行的语句。
-
Timing
触发器激活的时机。值为
BEFORE
(在事件之前)或AFTER
(在事件之后)。 -
Created
触发器创建的日期和时间。这是一个
TIMESTAMP(2)
值(具有百分之一秒的分数部分),用于触发器。 -
sql_mode
触发器创建时的 SQL 模式,以及触发器执行时的 SQL 模式。详见 Section 7.1.11, “Server SQL Modes”。
-
Definer
触发器创建者的账户,以
'
格式。user_name
'@'host_name
' -
character_set_client
触发器创建时的会话值
character_set_client
系统变量的值。 -
collation_connection
触发器创建时的会话值:
collation_connection
系统变量。 -
数据库排序规则
与触发器关联的数据库的排序规则。
触发器信息也可以从 INFORMATION_SCHEMA
TRIGGERS
表中获取。请参阅第28.3.44节,“INFORMATION_SCHEMA TRIGGERS 表”。