1.Mysql事務
Mysql事務要求,數據庫的引擎必須是InnoDB
2.使用(如果中間出現一個錯誤,則返回原點,不會改變任何數據)
1)自動控制事物
Db::transaction(function(){
//刪除一條數據
Db::table('user')->delete(1);
//刪除數據
Db::table('user')->delete();
});
2)手動控制事務
方法一:
//開啟事務
Db::startTrans();
//事務
try{
//刪除數據
$a = db('user')->delete(1);
//判斷是否操作成功
if(!$a){
//拋出錯誤信息
throw new \Exception('刪除id為1的數據沒有成功!');
}
//刪除數據2
$b = db('user')->delete(2);
// 判斷是否操作成功
if(!$b){
//拋出錯誤信息
throw new \Exception('刪除id為2的數據沒有成功!');
}
//執行提交操作
Db::commit();
// 錯誤處理
}catch(\Exception $e){
//回滾事務
Db::rollback();
//獲取提示信息
dump($e->getMessage());
}
手動事務方法二:
//開啟事務
Db::startTrans();
//數據操作
$a = db('user')->delete(1);
$b = db('user')->delete(2);
//判斷條件
if($a && $b){
//如果全部成功,提交事務
Db::commit();
}else{
//如果失敗,回滾事務
Db::rollback();
}
- 空白目錄
- 關于頁面跳轉跟重定向
- thinkphp5return的問題
- thinkphp5權限auth
- thinkphp5關聯查詢多表查詢join
- javascript
- 數據庫命令行操作
- php間隔一段時間自動執行
- PHP字符串首尾留N位,中間替換成*號
- tp5獲取當前域名
- PHP常用函數
- 注冊發送短信驗證的接口詳解
- php可逆加密解密
- 配置本地虛擬主機
- thinkphp5跨控制器調用
- thinkphp5框架加載流程
- thinkphp5路由詳解
- thinkphp5功能集合
- thinkphp5數據庫操作
- delete,put類型
- tp5數據庫查詢
- tp5數據庫增刪改
- 事務機制
- thinkphp模型model新建和查詢
- tp5model的新增
- tp5model修改
- tp5model刪除和軟刪除
- tp5視圖
- tp5API