28.3.44 INFORMATION_SCHEMA 触发器表
TRIGGERS 表提供了触发器的信息。要查看某个表的触发器信息,您必须对该表拥有TRIGGER
特权。
TRIGGERS 表具有以下列:
-
TRIGGER_CATALOG
触发器所属的目录名称。这一值始终为
def
。 -
TRIGGER_SCHEMA
触发器所属的架构(数据库)名称。
-
TRIGGER_NAME
触发器名称。
-
EVENT_MANIPULATION
触发器事件。这是与关联表相关的操作类型,触发器激活时的值为
INSERT
(插入了一行)、DELETE
(删除了一行)或UPDATE
(修改了一行)。 -
EVENT_OBJECT_CATALOG
、EVENT_OBJECT_SCHEMA
和EVENT_OBJECT_TABLE
如第27.3节,“使用触发器”所提到,每个触发器都与一个表相关联。这些列指示该表在哪个目录和模式(数据库)中,以及表名,分别是。值
EVENT_OBJECT_ Catalog
总是def
。 -
ACTION_ORDER
触发器动作在同一表中具有相同的
EVENT_MANIPULATION
和ACTION_TIMING
值的其他触发器中的顺序位置。 -
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
触发器创建的日期和时间。这是一个
TIMESTAMP(2)
值(以百分之一秒为单位),用于触发器。 -
SQL_MODE
在触发器创建时有效的 SQL 模式,并且在执行触发器时使用。 permitted values,请见第7.1.11节,“服务器SQL模式”。
-
DEFINER
在
DEFINER
子句中指定的帐户(通常是触发器创建者),以'
格式显示。user_ name
'@'host_name
' -
CHARACTER_SET_CLIENT
在触发器创建时的会话值
character_set_client
系统变量。 -
COLLATION_CONNECTION
在触发器创建时的会话值
collation_connection
系统变量。 -
DATABASE_COLLATION
与触发器关联的数据库的排序规则。
以下示例使用了在第27.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_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_0900_ai_ci
DATABASE_COLLATION: utf8mb4_0900_ai_ci
触发器信息也可以从SHOW TRIGGERS
语句中获取。请参阅第15.7.7.39节,“SHOW TRIGGERS 语句”。