我需要在表 database_log (id、user、timestamp、tablename、old_value、new_value)中记录所有表上的所有事件。
我想我可以用一个小的 php 脚本在所有表(~25)上创建相同的触发器,动态替换名称的表。但在这种情况下,我可以检索旧值和新值,因为所有表都没有相同的列,所以我不能只连接所有字段以存储在“old_value”和“new_value”中(即使我检索架构中的字段因为我不能在其上使用 concat() 来选择所有值并存储在变量中)。
例如:
SELECT * into v_myvar FROM my_table where id=OLD.id;
CALL addLog(v_myvar)
addLog 是采用我的旧值并添加一行其他信息的程序,可以挽救我的生命。
因此,我正在寻找一个带有一个触发器和/或一个过程(按表)或有用工具的性感解决方案。有人有解决方案吗?
谢谢