Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  The INFORMATION_SCHEMA TRIGGERS Table

28.3.45 信息架构 TRIGGERS 表

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

TRIGGERS 表具有以下列:

  • TRIGGER_CATALOG

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

  • TRIGGER_SCHEMA

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

  • TRIGGER_NAME

    触发器的名称。

  • EVENT_MANIPULATION

    触发器事件。该值是 INSERT(插入了一行),DELETE(删除了一行)或 UPDATE(修改了一行)。

  • EVENT_OBJECT_CATALOGEVENT_OBJECT_SCHEMAEVENT_OBJECT_TABLE

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

  • ACTION_ORDER

    触发器操作在同一表上具有相同 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 值始终为 OLDACTION_REFERENCE_NEW_ROW 值始终为 NEW

  • CREATED

    触发器创建的日期和时间。该值是一个 TIMESTAMP(2) 值(以百分之一秒为小数部分),用于触发器。

  • SQL_MODE

    触发器创建时的 SQL 模式,以及触发器执行时的模式。有关允许的值,请参阅 第 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.42 节,“显示触发器语句”