notes - www mysql php




PHP MySQL SQL解析器(INSERT和UPDATE) (4)

Facebook发布了他们的FQL解析器的开源PHP版本。 从我是什么这是很整齐的代码。 你可能会破解,以使用常规的SQL。

我正在寻找解析插入和更新PHP中的MySQL SQL查询来确定哪些更改从哪些原始数据。 现在这将是非常容易创建,但我想看看是否有任何现有的PHP库来做到这一点。

基本上我所拥有的是一个包含上面已经在数据库上运行的所有查询的表。 我已经分开了查询的表名和类型。 我正在寻找基于这个数据创建一个完整的用户查看更改日志,所以我需要获取原始INSERT的值,然后在每个UPDATE中进行更改。 最后,我需要字段名称和新的价值,并与记录ID(S)。 我会做其余的检查/美化,包括列名称人类可读,如果一个字段值没有实际改变。

目前,我可能不需要做多个表UPDATE,但它会很有用。

有什么库可以做到这一点?


有一点问题,但也许值得一提的建议:

自从MySQL 5.0以来,对触发器的支持相当不错。 如果要记录对数据库进行了哪些更改,而不是存储sql语句,则还可以定义插入/更新触发器并定义可以存储这些值的另一个表。 例如,您可以创建一个包含字段的简单表格

timestamp, user, field, old_value, new_value

并在每次观察到某个观察表上的DML时插入相应的值。 为了更简化这个,你可以添加这个字段

table

到“跟踪表”,将所有观看表中的所有更改存储在一个地方。

请参阅MySQL手册了解有关此主题的更多信息。







changelog