【发布时间】:2010-12-11 21:49:39
【问题描述】:
我正在使用 SQLAlchemy(和 Elixir)在 Python 中编写一个应用程序,并将 SQLite 作为数据库后端。我使用代码session.begin_transaction() 开始新事务,但是当我调用session.rollback() 时出现以下错误:
sqlalchemy.exceptions.OperationalError: (OperationalError) no such savepoint: sa_savepoint_1 u'ROLLBACK TO SAVEPOINT sa_savepoint_1' []
我在调用session.commit() 时也遇到了类似的错误。据我所知,sqlite 支持 SAVEPOINTS (http://www.sqlite.org/lang_savepoint.html)。
如何让嵌套事务工作?
【问题讨论】:
-
如果您创建一个演示 sn-p 代码,我可以更轻松地回答这个问题。您可以使用 sqlite :memory: 数据库轻松做到这一点,它会创建一个内存数据库。
标签: python sqlite sqlalchemy python-elixir