Mysql触发器:OLD和NEW作为字符串/ xml /参数?

时间:2010-12-29 15:29:19

标签: mysql stored-procedures triggers

我想将所有更改存储到我的表中(在MySQL中)。我创建了一个表'audit'来跟踪一个表中所有表的所有更改(因此我不必为每个表创建审计表)。

然后我为每个表和一个将记录插入审计表的存储过程创建了触发器。存储过程的参数是tablename和主id。现在,我可以跟踪数据库中每条记录的插入/更新/删除日期。

但我也希望通过此过程跟踪DATA的所有更改。为此,我必须找到一种方法来使用存储过程中触发器的OLD和NEW记录。

有人知道怎么做吗? 也许将某些记录OLD和NEW序列化为字符串??

1 个答案:

答案 0 :(得分:0)

我可以推导出的唯一解决方案是检查OLD&我表中每个字段的新值。

BEGIN

-- record changes to table log_new

IF OLD.fieldA != NEW.fieldA
OR OLD.fieldB != NEW.fieldB
THEN

INSERT INTO log_new (
相关问题