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

标签 mysql triggers interceptor

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

类似于:

 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/

相关文章:

mysql - MySQL <=> 运算符是做什么的?

postgresql - 从 pgsql 触发器输出到文件

java - Spring boot 不接收从 Angular 客户端添加的请求 header

java - encodeRedirectURL 改变了一些字符

mysql - 删除前触发语法错误

java - 在Hibernate拦截器的afterTransactionBegin方法中执行查询

php - 使用 PHP 和 MySQL 的随机句子

MySQL:GROUP BY 并用该组下一行的值填充空单元格

mysql - 使用另一个表中的某些值更新表

sql - 基本触发锁定问题