列出 MySQL 数据库中所有触发器的命令是什么?
Harry
问问题
140762 次
6 回答
183
列出所有触发器的命令是:
show triggers;
或者您可以通过以下INFORMATION_SCHEMA
方式直接访问该表:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- 您可以从版本 5.0.10 开始执行此操作。
- 有关该
TRIGGERS
表的更多信息在这里。
于 2008-09-06T10:02:40.827 回答
17
我希望下面的代码能给你更多的信息。
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
这将在MySQL 版本中为您提供总共 22 列:5.5.27及更高版本
TRIGGER_CATALOG
TRIGGER_SCHEMA
TRIGGER_NAME
EVENT_MANIPULATION
EVENT_OBJECT_CATALOG
EVENT_OBJECT_SCHEMA
EVENT_OBJECT_TABLE
ACTION_ORDER
ACTION_CONDITION
ACTION_STATEMENT
ACTION_ORIENTATION
ACTION_TIMING
ACTION_REFERENCE_OLD_TABLE
ACTION_REFERENCE_NEW_TABLE
ACTION_REFERENCE_OLD_ROW
ACTION_REFERENCE_NEW_ROW
CREATED
SQL_MODE
DEFINER
CHARACTER_SET_CLIENT
COLLATION_CONNECTION
DATABASE_COLLATION
于 2013-09-13T09:24:51.390 回答
13
您可以使用下面来查找特定的触发器定义。
SHOW TRIGGERS LIKE '%trigger_name%'\G
或下面显示数据库中的所有触发器。它适用于 MySQL 5.0 及更高版本。
SHOW TRIGGERS\G
于 2011-10-10T09:43:11.450 回答
11
要在特定模式中显示特定触发器,您可以尝试以下操作:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
于 2011-08-31T13:18:38.127 回答
1
您可以使用 MySQL Workbench:连接到 MySQL 服务器 Select DB
- 表
- 在表名称行上单击编辑图标(看起来像一个工作工具)
- 在表格编辑窗口中 - 单击选项卡“触发器”
- 在 Triggers 列表中单击 eTrigger 名称以获取其源代码
于 2021-08-17T20:55:21.033 回答
0
这句话可能有助于解决问题:
select LOWER(concat('delimiter |', '\n', 'create trigger %data_base_name%.', TRIGGER_NAME, '\n',
' ', ACTION_TIMING, ' ', EVENT_MANIPULATION, ' on %data_base_name%.', EVENT_OBJECT_TABLE, ' for each row', '\n',
ACTION_STATEMENT, '\n',
'|')) AS TablaTriggers from information_schema.triggers where
information_schema.triggers.trigger_schema like '%data_base_name%'
于 2021-10-02T01:43:47.143 回答