【发布时间】:2011-06-01 02:53:10
【问题描述】:
我想将所有更改存储到我的表中(在 MySQL 中)。我创建了一个表“审计”来跟踪一个表中所有表的所有更改(因此我不必为每个表创建审计表)。
然后,我为每个表创建了触发器,并创建了一个将记录插入审计表的存储过程。存储过程的参数是表名和主 ID。现在我可以跟踪数据库中每条记录的插入/更新/删除日期。
但我也想用这个过程跟踪对 DATA 的所有更改。为此,我必须找到一种方法来使用存储过程中触发器中的 OLD 和 NEW 记录。
有人知道怎么做吗? 也许某种将记录 OLD 和 NEW 序列化为字符串??
【问题讨论】:
-
你不能像常规参数一样将相应的值传递给过程吗?
-
我可以,但是我必须为我的所有表编写不同的存储过程,并且有些表有超过 50 列。由于我只使用 1 个表进行审计日志记录,我认为如果我可以将 OLD 和 NEW 作为参数传递会很好......但据我所知,这是不可能的......
标签: mysql stored-procedures triggers