tp5.1的事务操作


普通的事务操作很简单,最简单的方式是使用 transaction 方法操作数据库事务, 当闭包中的代码发生异常会自动回滚, 例如: 

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

 

也可以手动控制事务, 例如:

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

 

分布式数据库(多个服务器的数据库之间的操作可以这样写)

Db::connect($config)->startTrans();
try{

  Db::connect($config)->table('think_user')->find(1);
  Db::connect($config)->table('think_user')->delete(1);
  Db::connect($config)->commit();
 }catch (\Exception $e){ 
  Db
::connect($config)->rollback();
  
$this->error();
}
//$config 就是数据库的配置数据

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM