我正在考虑如何最好地在一个应用程序,它是由MySQL支持实施跟踪审核。一些系统访问相同的数据库和表,所以我认为触发器将是最好的解决方案。有没有办法从MySQL的子查询中获得field => value对?
不过,我不想手动编写为每个表触发,所以我在寻找自动登录的字段名称和数据每次插入/删除。
喜欢的东西:
INSERT INTO `audits` SET
`table_name` = 'jobs',
`table_key` = OLD.`id`,
`changed_at` = NOW(),
`notes` = (SELECT * FROM NEW);
然而,子查询将返回一行结果集,这不能被视为字符串。我想要一个功能,将采取该行并将其转换为:
"id = 1, name = 'something', another_field = 'data'"
或类似的东西。
编辑:这里主要的一点是,我不希望有在各个领域中的每一个表类型。有超过120张桌子,有些桌子超过100个。如果在MySQL本身中不可能,我想我会编写一个小程序来旋转每个表和字段并为我生成SQL。
的一点是,我不希望有在各个领域中的每一个表类型。有超过120张桌子,有些桌子超过100个。 如果这是不可能的,我想我得写一个小程序,以各表和字段旋转过来,生成SQL我。 – Drarok 2009-06-24 13:43:50