擅长:python、mysql、java
<p>这似乎是sqlite3模块在该隔离级别下行为的结果。在</p>
<p>这是可行的,请注意以下两个更改:</p>
<pre><code>import sys
import sqlite3
print 'python version:', sys.version
print 'PySQLite version:', sqlite3.version
print 'sqlite3 version:', sqlite3.sqlite_version
print
conn = sqlite3.connect('shane.sqlite')
conn.isolation_level = None # CHANGED
with conn:
conn.execute("create table example (A, B);")
with conn:
conn.execute("insert into example values (?, ?);", (0,200))
conn.execute("savepoint spTest;")
conn.execute("insert into example values (?, ?);", (1,201))
conn.execute("insert into example values (?, ?);", (2,202))
conn.execute("rollback to savepoint spTest;") # CHANGED
conn.execute("insert into example values (?, ?);", (5,205))
</code></pre>
<p>输出:</p>
^{pr2}$
<p>这不是一个令人满意的答案,而且我在sqlite3模块文档中没有看到任何相关内容(也没有尝试查看源代码)。但我希望它能帮你找到正确的方向。在</p>