13.7.5.11 SHOW CREATE TRIGGER 语句

SHOW CREATE TRIGGER trigger_name

该语句显示创建命名触发器的CREATE TRIGGER语句。该语句要求与触发器关联的 table 具有TRIGGER特权。

mysql> SHOW CREATE TRIGGER ins_sum\G
*************************** 1. row ***************************
               Trigger: ins_sum
              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
SQL Original Statement: CREATE DEFINER=`me`@`localhost` TRIGGER ins_sum
                        BEFORE INSERT ON account
                        FOR EACH ROW SET @sum = @sum + NEW.amount
  character_set_client: utf8
  collation_connection: utf8_general_ci
    Database Collation: latin1_swedish_ci
               Created: 2018-08-08 10:10:07.90

显示创建触发器输出包含以下列:

  • Trigger:触发器名称。

  • sql_mode:执行触发器时生效的 SQL 模式。

  • SQL Original Statement:定义触发器的CREATE TRIGGER语句。

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

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

  • Database Collation:与触发器关联的数据库的整理。

  • Created:创建触发器的日期和时间。对于在 MySQL 5.7.2 或更高版本中创建的触发器,这是TIMESTAMP(2)值(分数的百分之一秒),对于在 5.7.2 之前创建的触发器,此值是NULL

INFORMATION_SCHEMA TRIGGERStable 中也提供了触发信息。参见第 24.29 节“ INFORMATION_SCHEMA TRIGGERStable”