MySQL历史记录或事务日志表由触发器更新

时间:2010-09-02 16:50:47

标签: mysql

我的问题是关于数据库历史记录或事务日志表,它目前由mysql程序更新。每次在插入,更新或删除操作期间保留适当表的历史记录时,mysql触发器都会调用该过程。至于我们每个都有很多表,我们需要创建一个单独的触发器,例如对于“帐户表”,我们需要创建“accounts_insert,accounts_update和accounts_delete”触发器。

问题在于每当我们改变“帐户表”时,我们也必须修改适当的触发器。

有没有办法避免手动工作?在应用程序层/代码中实现它会更好吗?

1 个答案:

答案 0 :(得分:1)

如果您正在考虑的话,那就没有'全球'触发器。

应用程序端日志记录是一种可能的解决方案您希望尽可能在交易中执行此操作。

其他可能的方法:

  • 创建一个脚本,为您更新触发器。如果您的触发器通常彼此相似,则可以相当容易。在这里使用information_schema数据库会很有帮助。
  • 解析常规查询日志(小心,启用此日志会对服务器的性能产生很大的负面影响)