事务机制

            一、自动控制事务

Db::transaction(function(){
// 删除一条数据
Db::table("user")->delete(40);
// 删除数据
Db::table("user")->deletes();
});


            二、手动控制事务 (***)

// 开启事务
Db::startTrans();
// 事务
try{
// 删除数据id 31
$a=Db::table("user")->delete(31);
// 判断是否删除成功
if (!$a) {
throw new \Exception("删除id 31 数据没有成功");
}
// 删除不存在的数据 id 32
$b=Db::table("user")->delete(32);
// 判断是否删除成功
if (!$b) {
throw new \Exception("删除id 32 数据没有成功");
}
// 执行提交操作
Db::commit();
}catch(\Exception $e){
// 回滚事务
Db::rollback();
// 获取提示信息
dump($e->getMessage());
}

 ==================================================================

// 开启事务
Db::startTrans();

// 删除数据 33
$a=Db::table("user")->delete(33);
// 删除数据 34
$b=Db::table("user")->delete(34);

// 判断条件
if ($a && $b) {
// 提交事务
Db::commit();
}else{
// 回滚事务
Db::rollback();

}






猜你喜欢

转载自blog.csdn.net/shaoyanlun/article/details/80633450
今日推荐