THINKPHP 3.2.3 多表事务

    // Thinkphp 3.2.3 多表事务
    $Model = M();
    $Model->startTrans();
    $userRes = $Model->table('test_user')->add(['name'=>'admin']);
    $keyRes  = $Model->table('test_key')->add(['key'=>'test']);
    $taskRes = $Model->table('test_task')->add(['task'=>'test']);
    if (userRes && $keyRes && $taskRes) 
        $Model->commit();
    else
        $Model->rollback();
    // ENGINE=MyISAM 会导致回滚失败
    // 解决办法:
       方法一:mysql>alter table `test_user` engine=innodb;  
       方法二:导出数据库,用编辑器打开导出的文件,找到需要使用事务的表将    ENGINE=MyISAM  替换为 ENGINE=InnoDB 后重新导入即可    

  

posted @ 2018-06-29 17:09  智昕  阅读(813)  评论(0编辑  收藏  举报