24.29 INFORMATION_SCHEMA TRIGGERStable
TRIGGERStable 提供有关触发器的信息。要查看有关 table 触发器的信息,您必须具有该 table 的TRIGGER特权。
TRIGGERStable 具有以下列:
TRIGGER_CATALOG
触发器所属的目录的名称。此值始终为def
。
TRIGGER_SCHEMA
触发器所属的架构(数据库)的名称。
TRIGGER_NAME
触发器的名称。
EVENT_MANIPULATION
触发事件。这是触发触发器的关联 table 上的操作类型。值为INSERT
(已插入行),DELETE
(已删除行)或UPDATE
(已修改行)。
EVENT_OBJECT_CATALOG
,EVENT_OBJECT_SCHEMA
和EVENT_OBJECT_TABLE
如第 23.3 节“使用触发器”中所述,每个触发器都与一个 table 正好关联。这些列分别指示此 table 所在的目录和架构(数据库)以及 table 名称。 EVENT_OBJECT_CATALOG
的值始终为def
。
ACTION_ORDER
触发器动作在同一 table 上具有相同EVENT_MANIPULATION
和ACTION_TIMING
值的触发器列 table 中的 Sequences 位置。
ACTION_CONDITION
此值始终为NULL
。
ACTION_STATEMENT
扳机体;也就是说,触发器激活时执行的语句。此文本使用 UTF-8 编码。
ACTION_ORIENTATION
此值始终为ROW
。
ACTION_TIMING
触发器是在触发事件之前还是之后激活。该值为BEFORE
或AFTER
。
ACTION_REFERENCE_OLD_TABLE
此值始终为NULL
。
ACTION_REFERENCE_NEW_TABLE
此值始终为NULL
。
ACTION_REFERENCE_OLD_ROW
和ACTION_REFERENCE_NEW_ROW
旧列标识符和新列标识符。 ACTION_REFERENCE_OLD_ROW
的值始终为OLD
,而ACTION_REFERENCE_NEW_ROW
的值始终为NEW
。
CREATED
创建触发器的日期和时间。对于在 MySQL 5.7.2 或更高版本中创建的触发器,这是TIMESTAMP(2)
值(分数的百分之一秒),对于在 5.7.2 之前创建的触发器,这是NULL
。
SQL_MODE
创建触发器时有效的 SQL 模式,在该模式下执行触发器。有关允许的值,请参见第 5.1.10 节“服务器 SQL 模式”。
DEFINER
在DEFINER
子句中命名的帐户(通常是创建触发器的用户),格式为'user_name'@'host_name'
。
CHARACTER_SET_CLIENT
创建触发器时,character_set_client系统变量的会话值。
COLLATION_CONNECTION
创建触发器时,collation_connection系统变量的会话值。
DATABASE_COLLATION
与触发器关联的数据库的整理。
Example
以下示例使用在第 23.3 节“使用触发器”中定义的ins_sum
触发器:
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: ins_sum
EVENT_MANIPULATION: INSERT
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 1
ACTION_CONDITION: NULL
ACTION_STATEMENT: SET @sum = @sum + NEW.amount
ACTION_ORIENTATION: ROW
ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
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_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: latin1_swedish_ci
SHOW TRIGGERS语句也提供了触发器信息。参见第 13.7.5.38 节“ SHOW TRIGGERS 语句”。