Documentation Home

13.7.5.38 显示触发器语句

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

SHOW TRIGGERS列出当前为数据库中的表定义的触发器(默认数据库,除非FROM给出子句)。此语句仅返回您有权访问的数据库和表的结果TRIGGER 。该LIKE子句(如果存在)指示要匹配的表名(不是触发器名)并导致语句显示这些表的触发器。该WHERE子句可以使用更一般的条件来选择行,如 第 24.8 节,“SHOW 语句的扩展”中所讨论的。

对于第 23.3 节“使用触发器”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_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输出有以下列:

  • Trigger

    触发器的名称。

  • Event

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

  • Table

    为其定义触发器的表。

  • Statement

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

  • Timing

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

  • Created

    创建触发器的日期和时间。对于在 MySQL 5.7.2 或更高版本中创建的触发器,对于 5.7.2 之前创建 的触发器,这是一个 TIMESTAMP(2)值(以百分之一秒为单位的小数部分) 。NULL

  • sql_mode

    创建触发器时有效的 SQL 模式,触发器在该模式下执行。有关允许的值,请参阅第 5.1.10 节,“服务器 SQL 模式”

  • Definer

    创建触发器的用户的帐户, 格式为。 'user_name'@'host_name'

  • character_set_client

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

  • collation_connection

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

  • Database Collation

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

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