我希望在 PHP 中解析 INSERT 和 UPDATE MySQL SQL 查询,以确定对哪些原始数据进行了哪些更改。现在这将很容易创建,但我想看看 PHP 中是否有任何现有库可以执行此操作。
基本上我所拥有的是一个表,其中包含已在数据库上运行的所有上述查询。我已经分离出表名和查询类型。我正在寻找基于此数据创建供用户查看的完整更改日志,因此我需要获取原始 INSERT 的值,然后获取每个 UPDATE 中所做的更改。最后,我需要字段名称和新值以及记录 ID。我将进行其余的检查/美化,包括列名以供人类阅读,以及字段值是否实际未更改。
目前,我可能不需要执行多个表更新,但它会很有用。
有哪些库可以做到这一点?
最佳答案
http://pear.php.net/package/SQL_Parser
http://sourceforge.net/projects/txtsql
http://code.google.com/p/php-sql-parser
对于 Perl,有更多的变化
关于PHP MySQL SQL 解析器(插入和更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/283087/