情况:我对数据库做了一些改动,然后做一些代码,然后返回受影响行的初始值。是否可以在使用某些功能进行更改后将行恢复为最近的值?
正如我现在所看到的:将所有数据读入一个数组,然后执行必要的更改并返回一个包含所有数据的数组。
简单的方法,在你的表中有一个“original_value”和“current_value”,并保持“original_value”不变。
使用“current_value”解决您的问题,当您需要恢复时,更新表以使“current_value”恢复为“original_value”
是否可以在您的代码中使用事务?看看这篇文章PHP + MySQL 事务示例
如果您正在使用InnoDB
或其他支持事务的引擎,您可以执行以下操作:
mysql_query('SET AUTOCOMMIT=0');
mysql_query('START TRANSACTION');
// TODO make some changes...
mysql_query('ROLLBACK');
mysql_query('SET AUTOCOMMIT=1');