Documentation Home
MySQL 8.0 参考手册  / 第 26 章 INFORMATION_SCHEMA 表  / 26.3 INFORMATION_SCHEMA 总表  /  21.3.27 INFORMATION_SCHEMA 触发器表

21.3.27 INFORMATION_SCHEMA 触发器表

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

TRIGGERS表有以下列:

  • TRIGGER_CATALOG

    触发器所属目录的名称。该值始终为def.

  • TRIGGER_SCHEMA

    触发器所属的模式(数据库)的名称。

  • TRIGGER_NAME

    触发器的名称。

  • EVENT_MANIPULATION

    触发事件。这是触发器激活的关联表上的操作类型。值为 INSERT(插入一行)、 DELETE(删除一行)或 UPDATE(修改一行)。

  • EVENT_OBJECT_CATALOG, EVENT_OBJECT_SCHEMAEVENT_OBJECT_TABLE

    第 20.3 节“使用触发器”所述,每个触发器都与一个表关联。这些列分别指示该表所在的目录和模式(数据库)以及表名。该 EVENT_OBJECT_CATALOG值始终为 def

  • ACTION_ORDER

    触发器操作在同一表上所有类似触发器列表中的顺序位置。该值始终是因为在同 一张表上 0不可能有多个触发器 。EVENT_MANIPULATIONACTION_TIMING

  • 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

    该值始终为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

    与触发器关联的数据库的排序规则。

例子

以下示例使用第 20.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: 0
          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: NULL
                  SQL_MODE: 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.39 节,“SHOW TRIGGERS 语句”