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_CATALOGEVENT_OBJECT_SCHEMAEVENT_OBJECT_TABLE

第 23.3 节“使用触发器”中所述,每个触发器都与一个 table 正好关联。这些列分别指示此 table 所在的目录和架构(数据库)以及 table 名称。 EVENT_OBJECT_CATALOG的值始终为def

  • ACTION_ORDER

触发器动作在同一 table 上具有相同EVENT_MANIPULATIONACTION_TIMING值的触发器列 table 中的 Sequences 位置。

  • ACTION_CONDITION

此值始终为NULL

  • ACTION_STATEMENT

扳机体;也就是说,触发器激活时执行的语句。此文本使用 UTF-8 编码。

  • ACTION_ORIENTATION

此值始终为ROW

  • ACTION_TIMING

触发器是在触发事件之前还是之后激活。该值为BEFOREAFTER

  • ACTION_REFERENCE_OLD_TABLE

此值始终为NULL

  • ACTION_REFERENCE_NEW_TABLE

此值始终为NULL

  • ACTION_REFERENCE_OLD_ROWACTION_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 语句”