Tud*_*dor 2 php mysqli transactions
所以这里......
//我开始交易$ mysqli = new mysqli(...);
//启动事务$ mysqli-> autocommit(FALSE);
如果每个准备好的查询都返回true,它将($ mysqli-> commit())else $ mysqli-> rollback
我不知道交易将自动提交的原因
我已经完成了3个多个连接的一些事务并且它们回滚...这个没有...是不是mysql支持一个具有单个连接查询的事务?
解决了...如果来自不同表的查询是相互依赖的,就像我的情况一样,并且您需要强大的数据访问安全性,请为您打开的每个连接设置autocommit为false,为每个失败的bussness逻辑设置var为false,如果有任何失败,回滚每一组查询,否则comit evry查询...是的,每个连接都执行事务,当我说mysql做了一些多个conn事务的回滚时,还有其它管理回滚的东西
重新编辑:ofc这不会像正常的事务那样工作......如果系统崩溃,数据将被存储,直到崩溃的那一刻
事务内的所有查询必须位于同一连接上.如果您有三个连接,则打开三个事务(假设它们未处于自动提交模式).
如果您确实需要分布式事务,则必须使用MySQL的XA事务 - 但只有在处理多个数据库中的事务(或者,某些其他非数据库事务)时才应该真正需要.
| 归档时间: |
|
| 查看次数: |
5445 次 |
| 最近记录: |