不管我用 python 还是 sqlite,都会遇到这个错误。
代码看起来像这样:
File "addbooks.py", line 77, in saveBook
conn.commit()
sqlite3.OperationalError: cannot commit transaction - SQL statements in progress
代码看起来像这样:
conn = sqlite3.connect(fname)
cread = conn.cursor()
cread.execute('''select book_text from table''')
while True:
row = cread.fetchone()
if row is None:
break
....
for entry in getEntries(doc):
saveBook(entry, conn)
由于表格和列的大小很大,而内存稀缺,因此无法进行fetchall()操作。
在不使用卑劣手段(例如在内存中获取rowids,这可能适合,然后逐个选择行)的情况下,有什么可以做的呢?