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