将结果插入表时,发现mysql / python'未读结果'

时间:2016-07-15 15:57:41

标签: python mysql database

我的原始表中有一个'相对'的大表200,000行。如果我运行我的第一个查询没有buffered = true,如下所示。我可以看到打印的消息'aaa'和'bbb'。但是我只能看到1个ccc,然后在程序中停止了“插入”代码,显示'引发errors.InternalError(“未读结果”。)

curQuery3 = db.cursor()

当我使用 curQuery3 = db.cursor(buffered = true)时,我只能看到'aaa'和'bbb',然后什么都没有显示。程序似乎没有反应。任何帮助将不胜感激!!

print('aaa')
sql = "SELECT * FROM my_original_table"
curQuery3.execute(sql)

print('bbb')

for row in curQuery3:
   print('ccc')
   print(row)
   dat = list(row)
   id = dat.pop(0)
   eye = dat.pop(0) 
   sql = "INSERT INTO new_table VALUES ( '%s', '%s' );" % (id, eye)
   curExe.execute(sql)

1 个答案:

答案 0 :(得分:0)

尝试在光标中传递buffered = true。了解更多官方docs

cursor = conn.cursor(buffered=True)