1

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

就像是:

 create trigger interceptor
 after update on ANY_TABLE
 ....
4

1 回答 1

1

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

然而,正如上面的评论所说,每个触发器都可以调用相同的存储过程:在 MySQL 5.1 中需要一个抽象触发器来更新审计日志

您可以更进一步,创建一个循环遍历数据库中所有表的过程,使用information_schema、删除然后(重新)自动创建触发器,然后在每次更新数据库结构时调用此脚本。

于 2012-11-09T20:48:39.683 回答