ThinkPHP开发技巧集锦(11):使用事务

版权声明:http://www.itchuan.net 加微信zc1435661488 https://blog.csdn.net/sinat_37390744/article/details/89817464

注:使用事务处理的话,需要数据库引擎支持事务处理。比如 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();
}

猜你喜欢

转载自blog.csdn.net/sinat_37390744/article/details/89817464
今日推荐