TP5 事务操作

使用事务处理的话,需要数据库引擎支持事务处理。比如 mysql 的 myisam 不支持事务处理,需要使用 innodb 引擎。

使用 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();
}

注意在事务操作的时候,确保你的数据库连接是相同的。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

TP5 事务操作