【不敢说是bug,可能我使用方式不对】开启swoole下,数据库事务无效。

浏览:598 发布日期:2019/05/09 分类:ThinkPHP5专区
function test(){
Db::startTrans();
try{
Db::table('user_wallet_account')->where('user_id',47)->setInc('fac_balance',10);
Db::table('running_account')->where(['txid_hash'=> 'dfcfb68a16534dd13e6ac4fa4899d60bae4005547980b2d3a8b245d0cbb39490','is_confirmed' => 0])->update(['is_confirmed'=>1,'confirmation'=>100]);
Db::commit();
return true;
}catch (\Exception $e){
Db::rollback();

return $e->getMessage();
}
}
事实上,我把的running_account表里的confirmations 写成了 confirmation,此时,不开启swoole执行,效果为预期,两张表均没有更新。开启swoole后,执行三次以内,没毛病,但是从第四次开始每执行一次,user_wallet_account的'fac_balance'就增加一次。
最佳答案
评论( 相关
后面还有条评论,点击查看>>