我刚刚注意到,在使用 PHP 和 RedBean(以及一个事务)将一些数据导入 MySQL 数据库时,我可以看到在导入运行时行数在增加。为了证实我的怀疑,我在导入函数的末尾将 R::commit()
更改为 R::rollback()
并尝试导入。事实上,即使我调用回滚,数据也已导入并永久保存。
我不知道为什么交易没有完成它的工作,也不知道从哪里开始寻找,因此出现了这个问题。 Here's the import part of the function .让我说明一下,除了事务不起作用之外,导入功能运行良好,因此无需剖析它。
感谢所有假设
最佳答案
啊哈!知道了。急于证明@furier 是错误的,我查找了 RedBean transaction documentation并偶然发现了一个非常有用的注释:
Many databases automatically commit after changing schemas, so make sure you test your transactions after
R::freeze(true);
!
总而言之,如果您没有使用 R::freeze(true);
破坏应用程序中的所有事务操作来卡住 RedBean,某些数据库可能会自动提交
关于php - 为什么 RedBean 的交易功能不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851471/