在更新任何表之前创建MySQL触发器

时间:2012-11-09 20:38:13

标签: mysql triggers interceptor

我想创建一个拦截数据库中任何表的任何更新的触发器,有没有办法不指定触发器所在的表,以便拦截所有更新?

类似的东西:

 create trigger interceptor
 after update on ANY_TABLE
 ....

1 个答案:

答案 0 :(得分:1)

这是不可能的,你必须为每个表创建单独的触发器。

但是,正如上面的评论所述,每个触发器都可以调用相同的存储过程:Need an abstract trigger in MySQL 5.1 to update an audit log

您可以通过创建一个程序,使用information_schema循环遍历数据库中的所有表,然后自动创建触发器,然后每次更新数据库结构时调用此脚本。 / p>