我想创建一个拦截数据库中任何表的任何更新的触发器,有没有办法不指定触发器所在的表,以便拦截所有更新?
类似的东西:
create trigger interceptor
after update on ANY_TABLE
....
答案 0 :(得分:1)
这是不可能的,你必须为每个表创建单独的触发器。
但是,正如上面的评论所述,每个触发器都可以调用相同的存储过程:Need an abstract trigger in MySQL 5.1 to update an audit log
您可以通过创建一个程序,使用information_schema
循环遍历数据库中的所有表,然后自动创建触发器,然后每次更新数据库结构时调用此脚本。 / p>