Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


15.7.7.39 显示触发器语句

SHOW TRIGGERS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]

SHOW TRIGGERS 列出当前数据库中定义的触发器(除非使用 FROM 子句)。该语句只返回对您具有 TRIGGER 权限的数据库和表的结果。使用 LIKE 子句可以指定要匹配的表名(不包括触发器名),从而显示这些表的触发器。使用 WHERE 子句可以选择行使用更一般的条件,详见 Section 28.8, “Extensions to SHOW Statements”

对于在 Section 27.3, “Using Triggers” 中定义的 ins_sum 触发器,SHOW TRIGGERS 的输出如下所示:

mysql> SHOW TRIGGERS LIKE 'acc%'\G
*************************** 1. row ***************************
             Trigger: ins_sum
               Event: INSERT
               Table: account
           Statement: SET @sum = @sum + NEW.amount
              Timing: BEFORE
             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 输出具有这些列:

  • Trigger

    触发器的名称。

  • Event

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

  • Table

    触发器定义的表。

  • Statement

    触发器体,即触发器激活时执行的语句。

  • Timing

    触发器激活的时机。值为 BEFORE(在事件之前)或 AFTER(在事件之后)。

  • Created

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

  • sql_mode

    触发器创建时的 SQL 模式,以及触发器执行时的 SQL 模式。详见 Section 7.1.11, “Server SQL Modes”

  • Definer

    触发器创建者的账户,以 'user_name'@'host_name' 格式。

  • character_set_client

    触发器创建时的会话值 character_set_client 系统变量的值。

  • collation_connection

    触发器创建时的会话值:collation_connection 系统变量。

  • 数据库排序规则

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

触发器信息也可以从 INFORMATION_SCHEMA TRIGGERS 表中获取。请参阅第28.3.44节,“INFORMATION_SCHEMA TRIGGERS 表”