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

Hub*_*bro 4 php mysql transactions redbean

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

我不知道为什么交易没有做它的工作,也不知道从哪里开始寻找,因此这个问题.这是该函数的导入部分.让我指出,除了交易不起作用外,导入功能工作得很好,所以没有必要对其进行剖析.

感谢任何和所有的假设

Hub*_*bro 9

AHA!得到它了.急于证明@furier错了我查了一下RedBean交易文档并偶然发现了一个非常有用的说明:

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

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