11

是否有一个查询列出了为特定表上的任何事件创建的所有触发器。

假设我有一个名为 的表client,并且我想列出为该表上的任何事件(例如插入/更新/删除等)创建的所有触发器。

任何形式的帮助表示赞赏

4

2 回答 2

28

显示触发器

SHOW TRIGGERS LIKE '<tablename>'

例如

SHOW TRIGGERS LIKE 'client'
于 2013-01-21T11:13:51.600 回答
3

公认的答案是正确的,也是最直接的方法,但要增强表上触发器的视图并更好地控制返回的内容,请使用 INFORMATION_SCHEMA:

select * from INFORMATION_SCHEMA.TRIGGERS where EVENT_OBJECT_TABLE='client';

有了这个,您可以过滤诸如EVENT_OBJECT_TABLE(表名)、TRIGGER_SCHEMAEVENT_MANIPULATION插入、更新、删除等)之类的内容,以及许多其他属性。

正如上面评论中所指出的,您还需要拥有此方法的 TRIGGER 权限。

于 2019-07-09T22:01:07.150 回答