SQLite3回滚时没有这样的保存点

2024-05-06 02:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个功能

def set_Savepoint():
    db.execute("savepoint t1bis")
    

def rollback_to_sp():
    db.execute("rollback to savepoint t1bis")

第一个创建保存点,第二个恢复保存点。 但不幸的是,每次调用回滚函数时,它都会抛出以下错误:

Traceback (most recent call last):
  File "main.py", line 194, in <module>
    main()
  File "main.py", line 189, in main
    operaciones_bbdd.rollback_to_sp()
  File "/Users/yunhaolin/Documents/GitHub/DDSI-C1_5/Database_DDSI/operaciones_bbdd.py", line 485, in rollback_to_sp
    db.execute("rollback to savepoint t1bis")
sqlite3.OperationalError: no such savepoint: t1bis

以下是我对它的主要称呼:

operaciones_bbdd.set_Savepoint()
some operations
operaciones_bbdd.rollback_to_sp()

(operaciones_bbdd是声明这些操作的文件)

我看不出这不起作用的原因,尝试在SQLite3命令行中手动使用命令,效果很好。我还试图使用db.isolation\u level=None并最终抛出相同的错误

在错误消息中,它说没有这样的保存点,但我已经清楚地创建了t1bis sp,对吗


Tags: toinpyexecutedbmain错误line