事務機制

            一、自動控制事務

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();

}






發佈了55 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章