查询以检查MYSQL表上是否存在触发器

Sas*_*ant 9 php mysql sql database

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

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

任何形式的帮助表示赞赏

Mar*_*ker 22

显示触发器

SHOW TRIGGERS LIKE '<tablename>'
Run Code Online (Sandbox Code Playgroud)

例如

SHOW TRIGGERS LIKE 'client'
Run Code Online (Sandbox Code Playgroud)


jsh*_*p29 10

接受的答案是正确的,也是最直接的方法,但为了增强表上触发器的视图以及对返回内容的更多控制,请使用 INFORMATION_SCHEMA:

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

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

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