如何列出MySQL数据库中的所有触发器?

时间:2008-09-06 10:02:27

标签: mysql triggers

列出MySQL数据库中所有触发器的命令是什么?

4 个答案:

答案 0 :(得分:118)

列出所有触发器的命令是:

show triggers;

或者您可以通过以下方式直接访问INFORMATION_SCHEMA表:

select trigger_schema, trigger_name, action_statement
from information_schema.triggers

答案 1 :(得分:12)

您可以使用以下内容查找特定的触发器定义。

SHOW TRIGGERS LIKE '%trigger_name%'\G

或以下显示数据库中的所有触发器。它适用于MySQL 5.0及更高版本。

SHOW TRIGGERS\G

答案 2 :(得分:11)

我希望以下代码能为您提供更多信息。

select * from information_schema.triggers where 
information_schema.triggers.trigger_schema like '%your_db_name%'

这将在 MySQL版本:5.5.27 及以上

中为您提供总共22列
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

答案 3 :(得分:9)

要在特定模式中显示特定触发器,您可以尝试以下操作:

select * from information_schema.triggers where 
information_schema.triggers.trigger_name like '%trigger_name%' and 
information_schema.triggers.trigger_schema like '%data_base_name%'