我想创建一个触发器来拦截数据库中任何表的任何更新,有没有办法不指定为其创建触发器的表以便它可以拦截所有更新?
类似于:
create trigger interceptor
after update on ANY_TABLE
....
最佳答案
这是不可能的,您必须为每个表创建单独的触发器。
然而,正如上面的评论所说,每个触发器都可以调用相同的存储过程:Need an abstract trigger in MySQL 5.1 to update an audit log
您可以更进一步,创建一个使用 information_schema
遍历数据库中所有表的过程,自动删除然后(重新)创建触发器,然后在每次更新数据库时调用此脚本结构。
关于mysql - 在更新任何表之前创建 MySQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315624/