tp 5.0 mysql 事物

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

}

猜你喜欢

转载自www.cnblogs.com/songxuan/p/9441417.html