THINKPHP 3.2.3 多表事务

浏览:15819 发布日期:2017/05/06 分类:技术分享 关键字: 多表事务
// 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 后重新导入即可
最佳答案
评论( 相关
后面还有条评论,点击查看>>