ThinkPHP5事务回滚

2018-06-22 05:38:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。

使用 transaction 方法操作数据库事务,当发生异常会自动回滚

1.手动控制事务

// 启动事务
Db::startTrans();
try{
    $res = Db::table('user')->find(1);
    $rs = Db::table('user')->delete(1);
     
    if($res&&$rs){        
      // 提交事务
      Db::commit();    
    }
} catch (\Exception $e) {
    // 回滚事务
    Db::rollback();
}

2.自动控制事务

Db::transaction(function(){
   Db::table('user')->find(1);
   Db::table('user')->delete(1);
});

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:错误和异常处理(7)

下一篇:关于PHP7