【发布时间】:2011-11-02 17:07:17
【问题描述】:
我有一个 PHP 脚本,其中包含一个选择查询和几个准备好的更新语句。有没有办法在测试模式下运行脚本,这样就不会将更改写入数据库?
【问题讨论】:
标签: php mysql testing command-line mysqli
我有一个 PHP 脚本,其中包含一个选择查询和几个准备好的更新语句。有没有办法在测试模式下运行脚本,这样就不会将更改写入数据库?
【问题讨论】:
标签: php mysql testing command-line mysqli
您可以将整个事情包装在一个事务中,然后在其他测试查询完成后回滚该事务。
那样,或者您转储出所涉及的表,并在每次测试后恢复转储,这样您就可以在每次运行之间保持环境一致。
【讨论】:
您可以使用带有提交和回滚的事务。
【讨论】:
我不知道。
我建议备份数据。
添加一件事,恢复备份以查看您的更改是否被撤消,并在知道您有备份的情况下进行测试运行。
【讨论】:
首先,测试运行应该在测试数据库上运行,您可以在其中不受阻碍地运行查询。
但是,如果您的所有查询变异数据都在 InnoDB/事务感知表上,并且没有查询发出隐式提交,您可以将它们包装在事务中并回滚它们/只是不提交它们。
【讨论】: