tp 5.0 mysql 事物
阿新 • • 發佈:2018-08-08
show name back innodb 能力 pre 提交 ESS 成功
mysql 默認 MyISAM存儲引擎,不支持事物處理,InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比Myisam的存儲引擎,InnoDB寫的處理效率差一些並且會占用更多的磁盤空間以保留數據和索引
查看 當前數據庫的引擎
show variables like ‘%storage_engine%‘;
查看當前表使用的引擎
show table status from ceshi where name=‘user‘;
修改表引擎方法
alter table user engine=innodb;
public function index(){
$data[‘name‘] = ‘小豬‘;
$data[‘pwd‘] = ‘123456‘;
// 啟動事務
Db::startTrans();
try{
$res=Db::table(‘user‘)->insert($data);
// id 為 2 的數據不存在
$res2=Db::table(‘user‘)->where(‘id‘,2)->delete();
if($res && $res2){
echo ‘操作成功‘;
}else{
throw new \Exception("刪除id 2 數據沒有成功");
}
// 提交事務
Db::commit();
} catch (\Exception $e) {
// 回滾事務
Db::rollback();
var_dump($e->getMessage());
}
tp 5.0 mysql 事物