vaeThink-事务操作


vaeThink 事务操作时需要使用TP5的Db类,因此你需要在你的操作前use \think\Db;
此外,事务操作需要数据库引擎支持事务处理,比如MySQL的MyISAM引擎不支持事务处理,需要使用InnoDB引擎。
自动事务
  Db::transaction(function(){
      Db::name('table')->find(1);
      Db::name('table')->delete(1);
  });
      
手动事务
  // 启动事务
  Db::startTrans();
  try{
      Db::name('table')->find(1);
      Db::name('table')->delete(1);
      // 提交事务
      Db::commit();    
  } catch (\Exception $e) {
      // 回滚事务
      Db::rollback();
  } 
      
当事务操作中,程序抛出了异常,会进行数据回滚,适用于多数据表操作时。
vaeThink 想你所想。