使用 Python (2.7) 和 sqlite (3) 我正在尝试将查询结果复制到表中。因为查询的结果很大,所以想批量使用“fetchmany”。查询工作正常,也可以批量检索结果。问题是当我尝试复制表中的结果时,它会在第一批之后停止。
我怀疑问题出在光标的位置。
如何在 python 中返回光标?
PS:我在这里看到很多关于光标(关闭)的帖子,但还没有看到我的问题的答案。另请注意,我是 Python 的新手,所以如果问题微不足道,我们深表歉意。
这是我的代码片段:(示例)
import sqlite3
dbLocation = 'P:/XXX/db1.db'
connection = sqlite3.connect(dbLocation)
cursor = connection.cursor()
strSQLStatement = """
SELECT
whatever1,
whaterver2
from wherever
LIMIT 10"""
cursor.execute(strSQLStatement)
#the following codes works
# printing the 10 results
while True:
results = cursor.fetchmany(2)
if not results:
break
print results
#the following codes does NOT work
# Only 2 results are processed
while True:
results = cursor.fetchmany(2)
if not results:
break
print results
cursor.executemany ('INSERT INTO NewTable (?,?)',results)
connection.commit()