为什么RedBean的交易功能不起作用?

时间:2012-06-01 13:45:10

标签: php mysql transactions redbean

我刚注意到,在使用PHP和RedBean(以及事务)将一些数据导入MySQL数据库时,我可以看到导入运行时行数增加。为了确认我的怀疑,我在导入功能结束时将R::commit()更改为R::rollback()并尝试导入。实际上,即使我调用了回滚,数据也是导入的并且是永久性的。

我不知道为什么交易没有做到这一点,也不知道从哪里开始寻找,因此这个问题。 Here's the import part of the function。让我指出除了交易不起作用之外,导入功能工作得很好,所以没有必要剖析它。

感谢任何和所有假设

1 个答案:

答案 0 :(得分:9)

AHA!得到它了。急于证明@furier错了我抬起RedBean transaction documentation并偶然发现了一个非常有用的说明:

  

许多数据库在更改架构后会自动提交,因此请确保在R::freeze(true);之后测试您的交易!

总而言之,如果您没有使用R::freeze(true);冻结RedBean来破坏应用程序中的所有事务操作,则某些数据库可能会自动提交