首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么会出现SQLAlchemy嵌套回滚错误?

为什么会出现SQLAlchemy嵌套回滚错误?
EN

Stack Overflow用户
提问于 2012-01-15 22:05:27
回答 1查看 32.6K关注 0票数 42

我在我的python代码(它收集twitter状态并存储在数据库中)中遇到如下错误。

sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back by a nested rollback() call.  To begin a new transaction, issue Session.rollback() first.

我想知道问题是什么,为什么会发生,以及我如何解决它。

我对nested rollback一无所知。有没有发生nested rollback的简单例子?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-25 20:55:23

问题已经解决了。在本例中,关键是在显式调用rollback之前不会执行rollback,因此当我们包含commit()时,应该将其写入try语句中,并在异常语句中写入rollback() (在大多数情况下),就像用https://docs.sqlalchemy.org/en/13/faq/sessions.html#this-session-s-transaction-has-been-rolled-back-due-to-a-previous-exception-during-flush-or-similar编写的那样

下面是正确的代码示例。我引用了上面的链接。

try:
    <use session>
    session.commit()
except:
    session.rollback()
    raise
finally:
    session.close()  # optional, depends on use case
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8870217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档