【问题标题】:Record at column level changes in mysql table在mysql表中记录列级别的变化
【发布时间】:2013-03-18 11:35:04
【问题描述】:

我的客户希望在列级别维护审计。他想要一个存储所有审计的表,即在列级别。我已经决定了一个表结构。即

id,tablename,tablecolumn,primarkey,oldvalue,newvalue,date

但我想知道如何检查每个列级别的更改。我是否必须像 old.columnname new.columnname 一样手动检查每一个,然后添加到审计表中?

还有其他方法吗?

【问题讨论】:

    标签: mysql audit-tables


    【解决方案1】:

    当我被赋予相同的任务时,我创建了几个用于修改表数据的存储过程,并限制了对表的 CUD 操作以强制用户仅使用存储过程。

    SP 实际上正在执行请求的操作(即创建、更新或删除表中的一行),并为每个操作在审计表中添加一行。

    从数据库优化的角度来看,这可能效率很低,但我认为它为您提供了大部分审计,因为更新操作和审计自动放入事务中,如果不添加审计条目,更新将无法完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 2012-02-14
      相关资源
      最近更新 更多