返回信息流不懂,bd
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #7698251同步于 2024/10/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖
python数据库问题
IWhisper#385
2024/10/15镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
公司让我改一改python后端的代码,之前没怎么写过就照猫画虎,原有的代码在增删改操作之后有一个db.session.add,然后db.session.commit提交,我在这俩行代码中间加了我需要添加的数据,也能正常运行,但是我再把我中间添加的几行抽出来写成函数为啥运行到commit就会报错了呢,而且这玩意还是概率事件,打断点一行一行运行可能就不出错,直接测接口可能就会Internal server error,我感觉可能是涉及到事务问题?有没有python大佬解释一下<img src="/img/ubb/ema/1.gif" alt="ema1" style="display:inline;border-style:none"><img src="/img/ubb/ema/1.gif" alt="ema1" style="display:inline;border-style:none">
明天去公司再debug一下,我看返回的是internal server error就没细查了<img src="/img/ubb/em/10.gif" alt="em10" style="display:inline;border-style:none"><br>【 在 IWhisper#338 的大作中提到: 】<br><font class="f006">: 报啥错你倒是贴出来 </font>
报错是说主键冲突,`(pymysql.err.IntegrityError) (1062, "Duplicate entry '4' for key 'PRIMARY'"),但是我的id已经给了default=lambda: str(uuid.uuid4())了呀,这是咋回事呢<img src="/img/ubb/em/9.gif" alt="em9" style="display:inline;border-style:none">
我把那几行插入数据的代码放在原函数里没出现过这个问题,就是想着把这几行单独提出来搞成函数就主键冲突了<img src="/img/ubb/em/9.gif" alt="em9" style="display:inline;border-style:none"><img src="/img/ubb/em/9.gif" alt="em9" style="display:inline;border-style:none">