【问题标题】:PHP mysqli Test RunPHP mysqli 测试运行
【发布时间】:2011-11-02 17:07:17
【问题描述】:

我有一个 PHP 脚本,其中包含一个选择查询和几个准备好的更新语句。有没有办法在测试模式下运行脚本,这样就不会将更改写入数据库?

【问题讨论】:

    标签: php mysql testing command-line mysqli


    【解决方案1】:

    您可以将整个事情包装在一个事务中,然后在其他测试查询完成后回滚该事务。

    那样,或者您转储出所涉及的表,并在每次测试后恢复转储,这样您就可以在每次运行之间保持环境一致。

    【讨论】:

      【解决方案2】:

      您可以使用带有提交和回滚的事务。

      【讨论】:

        【解决方案3】:

        我不知道。
        我建议备份数据。
        添加一件事,恢复备份以查看您的更改是否被撤消,并在知道您有备份的情况下进行测试运行。

        【讨论】:

          【解决方案4】:

          首先,测试运行应该在测试数据库上运行,您可以在其中不受阻碍地运行查询。

          但是,如果您的所有查询变异数据都在 InnoDB/事务感知表上,并且没有查询发出隐式提交,您可以将它们包装在事务中并回滚它们/只是不提交它们。

          【讨论】:

          • 我不想破坏我的测试数据库......让我们忘记应该如何轻松地为这个问题创建测试数据库。 :)
          • 呵呵,他们应该:P。但是没问题。如果您真的做不到,请使用现在提到的三次交易;)。
          猜你喜欢
          • 2011-04-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-07
          • 1970-01-01
          • 2020-08-26
          • 1970-01-01
          • 2023-03-27
          相关资源
          最近更新 更多