THINKPHP5事务操作方法

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

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

自动控制事务处理

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

不看手册还不知道有transaction方法更简便的处理方式,

个人一直还是使用的手动控制事务方法

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


支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论