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

    }

 

posted @ 2018-08-08 10:48  小猪哥哥  阅读(184)  评论(0编辑  收藏  举报