枯痕个人博客
立即登录 马上注册
当前位置: 授人以渔 > Yii- yii Failed to commit transaction: transaction was inactive.”

第一:看到报错一脸懵逼!!!!

(原因:因为事务开始是肯定正确的,但是他一直提示提交事务失败:事务处于非活动状态,当时做了很多推测,把别的事务代码copy过来试了也不行,那么好,就只能排除不是代码的锅了“)

第二:第二突发奇想点看存储引擎

当时还排查过commit或rollback方法中因active为false时抛出的,而什么情况下使得active为false呢?检查CDbTransaction类中,只有当commit成功或者rollback成功后,会设置active为false。 那很可能是commit或rollback后,再次commit或rollback了导致的问题,好家伙不看不知道,一看吓一跳,因为以前建立的所有的表都是默认InnoDb引擎的,但是不知道为啥这次建立的几个表缺失MyIsam引擎,一脸懵逼,so 把数据引擎改成了InnoDb;

步骤一:ALTER TABLE

1
test
ROW_FORMAT=DYNAMIC;

步骤二:ALTER TABLE

1
test
TYPE=InnoDb;

安利一波:当时百度过此问题,虽然没找到正确答案,但是别人犯得错误值得谨记

1:看代码就知道哪里问题了吧

1
$transaction = XX::model()-&gt;getDbConnection()&gt;beginTransaction();<br>try{ // Code A<br>$transaction-&gt;commit();

// Code B

1
} catch (\Exception $e) {<br>$transaction-&gt;rollBack();<br>}

(忍不住说一嘴:先commit 后执行其他事务啦)

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
欢迎打赏您的小可爱~~~~

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Yii- yii Failed to commit transaction: transaction was inactive.”"

最新评论

    暂无留言哦~~

博客简介

枯痕个人博客: xiaole.biz,一个关注Web后端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的后端博客,期待您的参与。

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 105 篇
  • 草稿数目: 1 篇
  • 分类数目: 26 个
  • 独立页面: 4 个
  • 评论总数: 9 条
  • 链接总数: 5 个
  • 标签总数: 169 个
  • 注册用户: 8 人
  • 访问总量: 8,756,216 次
  • 最近更新: 2021年7月23日
服务热线:
 156144**650

 QQ在线交流

 旺旺在线