MySQL查看触发器
SHOW TRIGGERS语句查看触发器信息
在 MySQL 中,可以通过 SHOW TRIGGERS 语句来查看触发器的基本信息,语法格式如下:
SHOW TRIGGERS;
示例 1
首先创建一个数据表 account,表中有两个字段,分别是 INT 类型的 accnum 和 DECIMAL 类型的 amount。SQL 语句和运行结果如下:
mysql> CREATE TABLE account(
-> accnum INT(4),
-> amount DECIMAL(10,2));
Query OK, 0 rows affected (0.49 sec)
创建一个名为 trigupdate 的触发器,每次 account 表更新数据之后都向 myevent 数据表中插入一条数据。创建数据表 myevent 的 SQL 语句和运行结果如下:
mysql> CREATE TABLE myevent(
-> id INT(11) DEFAULT NULL,
-> evtname CHAR(20) DEFAULT NULL);
Query OK, 0 rows affected (0.26 sec)
创建 trigupdate 触发器的 SQL 代码如下:
mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account
-> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update');
Query OK, 0 rows affected (0.15 sec)
使用 SHOW TRIGGERS 语句查看触发器(在 SHOW TRIGGERS 令后添加
\G,这样显示信息会比较有条理),SQL 语句和运行结果如下:由运行结果可以看到触发器的基本信息。对以上显示信息的说明如下:mysql> SHOW TRIGGERS \G
*************************** 1. row ***************************
Trigger: trigupdate
Event: UPDATE
Table: account
Statement: INSERT INTO myevent VALUES(1,'after update')
Timing: AFTER
Created: 2020-02-24 14:07:15.08
sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer: root@localhost
character_set_client: gbk
collation_connection: gbk_chinese_ci
Database Collation: latin1_swedish_ci
1 row in set (0.09 sec)
Trigger 表示触发器的名称,在这里触发器的名称为 trigupdate;
Event 表示激活触发器的事件,这里的触发事件为更新操作 UPDATE;
Table 表示激活触发器的操作对象表,这里为 account 表;
Statement 表示触发器执行的操作,这里是向 myevent 数据表中插入一条数据;
Timing 表示触发器触发的时间,这里为更新操作之后(AFTER);
还有一些其他信息,比如触发器的创建时间、SQL 的模式、触发器的定义账户和字符集等,这里不再一一介绍。
SHOW TRIGGERS 语句用来查看当前创建的所有触发器的信息。因为该语句无法查询指定的触发器,所以在触发器较少的情况下,使用该语句会很方便。如果要查看特定触发器的信息或者数据库中触发器较多时,可以直接从 information_schema 数据库中的 triggers 数据表中查找。
在triggers表中查看触发器信息
在 MySQL 中,所有触发器的信息都存在 information_schema 数据库的 triggers 表中,可以通过查询令 SELECT 来查看,具体的语法如下:
SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
其中,'触发器名'用来指定要查看的触发器的名称,需要用单引号引起来。这种方式可以查询指定的触发器,使用起来更加方便、灵活。示例 2
下面使用 SELECT 令查看 trigupdate 触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
上述令通过 WHERE 来指定需要查看的触发器的名称,运行结果如下:
由运行结果可以看到触发器的详细信息。对以上显示信息的说明如下:mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: trigupdate
EVENT_MANIPULATION: UPDATE
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 1
ACTION_CONDITION: NULL
ACTION_STATEMENT: INSERT INTO myevent VALUES(1,'after update')
ACTION_ORIENTATION: ROW
ACTION_TIMING: AFTER
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
CREATED: 2020-02-24 16:07:15.08
SQL_MODE: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER: root@localhost
CHARACTER_SET_CLIENT: gbk
COLLATION_CONNECTION: gbk_chinese_ci
DATABASE_COLLATION: latin1_swedish_ci
1 row in set (0.22 sec)
TRIGGER_SCHEMA 表示触发器所在的数据库;
TRIGGER_NAME 表示触发器的名称;
EVENT_OBJECT_TABLE 表示在哪个数据表上触发;
ACTION_STATEMENT 表示触发器触发的时候执行的具体操作;
ACTION_ORIENTATION 的值为 ROW,表示在每条记录上都触发;
ACTION_TIMING 表示触发的时刻是 AFTER;
还有一些其他信息,比如触发器的创建时间、SQL 的模式、触发器的定义账户和字符集等,这里不再一一介绍。
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers \G
这个语句会显示 triggers 数据表中所有的触发器信息。- 随机文章
- 东方马尔代夫体验(东方走进马尔代夫,感受浪漫海岛风情)
- 买家具送马尔代夫(家具购物联手旅行,享受马尔代夫假期)
- 马尔代夫 印度出兵(印度向马尔代夫派兵,协助维护安全(40))
- 厦门翔安马尔代夫(厦门翔安丨马尔代夫,浪漫之旅等待您)
- 如何走在马尔代夫(马尔代夫旅游攻略:如何体验热带天堂)
- 南城马尔代夫沙滩(南城马尔代夫沙滩:天堂中的一片花园)
- 李玟 马尔代夫(李玟甜蜜马尔代夫度假)
- 抖音 马尔代夫(抖音旅行达人带你畅游马尔代夫)
- 日本马尔代夫图片(日本摄影师的美丽马尔代夫海滩作品集)
- 安庆马尔代夫风景(安徽有座马尔代夫,水清沙白美不胜收)
- 将乐邓坊马尔代夫(马尔代夫旅游胜地——将乐邓坊度假村)
- 尤文米兰马尔代夫(尤文与米兰球员飞赴马尔代夫享受假期)
- 江门马尔代夫旅游(江门市民迎来直飞马尔代夫旅游新时代)
- 湛江马尔代夫现状(湛江马尔代夫岛屿现状及旅游情况简介)
- 游艇上岛马尔代夫(岛屿探险之旅:游艇驶入马尔代夫海域)
- 山东马尔代夫简介(探访中国马尔代夫:山东省威海市简介)
- 格言 马尔代夫(马尔代夫之旅:探寻未知的海洋奇观)
- 星云 马尔代夫(马尔代夫笼罩在神秘的星云下)
- 营口马尔代夫公园(营口市新建的马尔代夫公园向游客开放)
- 郑和雕像马尔代夫(郑和在马尔代夫落地生根,开创新时代)
- 悦椿 马尔代夫(悦椿在马尔代夫:奢华度假胜地)
- 英语关于马尔代夫(马尔代夫旅游复苏,准备迎接更多游客)
- 非诚勿扰马尔代夫(马尔代夫成为“非诚勿扰”新旅游胜地)
- 矿产 马尔代夫(马尔代夫发现新矿产资源)
- 马尔代夫停船旅游(马尔代夫暂停游轮停靠以遏制病毒传播)
- 新疆 马尔代夫(新疆举行马尔代夫活动,助力旅游业发展)
- 马尔代夫兰德利岛(马尔代夫兰德利岛:美丽海岛旅游胜地)
- 马尔代夫促销策略(马尔代夫旅游特惠,优惠多多等你来!)
- 马尔代夫军人图片(马尔代夫军人亮相,展现激励人心形象)
- 马尔代夫偷着钓鱼(马尔代夫暗中垂钓:打破禁止钓鱼大门)
