创建跟踪每个已更改列的审计表

时间:2013-02-22 07:27:50

标签: mysql triggers

我有一个包含10个字段的表,许多用户将更改此数据。我想报告用户改变的内容,即我需要的每个列信息,例如旧的和新的值。我必须使用触发器,但历史表应该如何。?

我的想法: 1.主表 2.历史表 3.列表

  1. 主表是我的表,用户可以在其中执行操作。
  2. 历史记录表是一个自动递增的表,其中包含进行更改的日期和用户信息。
  3. 列表将具有历史表和列名,旧值和新值
  4. 中的键

    这是最好的做法吗?

    我的另一个问题是我如何遍历触发器中的每一列

1 个答案:

答案 0 :(得分:0)

而是创建包含名称和日期等列的表。而是存储创建10个字段创建10行和创建日期。当有新的更新时,插入带有字段名称和更新日期的新行。

通过这种方式,您可以记录它的历史。

id   name  value                Date
1    name  suresh           2013-1-1
2    email suresh@gmail.com 2013-1-1