1. 程式人生 > >tp 5.0 mysql 事物

tp 5.0 mysql 事物

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 事物