跳到主要内容

INFORMATION_SCHEMA TRIGGERS

INFORMATION_SCHEMA TRIGGERS 字典视图提供了有关触发器的信息。要查看有关表的触发器的信息,必须具有该表的 TRIGGER 权限。

INFORMATION_SCHEMA TRIGGERS 字典视图所包含的字段如下表所示。

字段名称描述
TRIGGER_CATALOG触发器所属目录的名称。此值始终为 def
TRIGGER_SCHEMA触发器所属 Shema(数据库)的名称。
TRIGGER_NAME触发器名称。
EVENT_MANIPULATION触发事件。这是激活触发器所关联表上的操作类型。该值可以为 INSERT(插入了一行)、DELETE(删除了一行)或者 UPDATE(修改了一行)。
EVENT_OBJECT_CATALOG、EVENT_OBJECT_SCHEMA、 EVENT_OBJECT_TABLE每个触发器只与一个表相关联。这些字段分别指示此表所在的目录和 Schema(数据库)以及表名。EVENT_OBJECT_CATALOG 的值始终为 def
ACTION_ORDER在具有相同 EVENT_MANIPULATIONACTION_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 的值总是为 OLDACTION_REFERENCE_NEW_ROW 的值总是为 NEW
CREATED创建触发器的日期和时间。值的类型为 TIMESTAMP(2) (以百分之一秒为小数部分)。
SQL_MODE创建触发器时生效的 SQL 模式。
DEFINERDEFINER 子句中指定的账号(通常是创建触发器的用户),格式为 'user_name'@'host_name'
CHARACTER_SET_CLIENT创建触发器时 character_set_client 系统变量在当前会话的值。
COLLATION_CONNECTION创建触发器时 collation_connection 系统变量在当前会话的值。
DATABASE_COLLATION与触发器关联的数据库的排序规则。

示例如下:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='test_trg'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: test_trg
EVENT_MANIPULATION: UPDATE
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: test
ACTION_ORDER: 0
ACTION_CONDITION: NULL
ACTION_STATEMENT: TRIGGER test_trg BEFORE UPDATE ON test
FOR EACH ROW
BEGIN
IF NEW.user_num < 1 THEN
SET NEW.user_num = 1;
ELSEIF NEW.user_num > 45 THEN
SET NEW.user_num= 45;
END IF;
END
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: 2022-05-18 18:07:51.994639
SQL_MODE: STRICT_ALL_TABLES,NO_ZERO_IN_DATE
DEFINER: 'root'@'%'
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4
DATABASE_COLLATION: utf8mb4