python - mysql.connector.errors.InternalError : Unread result found during UPDATE

标签 python mysql

这是我的代码:

postconn = mysql.connector.connect(user='root', password='Infinity8', host='127.0.0.1', database='geodb')
postcursor = postconn.cursor() # creating cursor
....
print ("currently selected ID: ", mydata[0])
sql_update_flag = """ UPDATE REQUESTS SET fl_ready = {0} WHERE request_id={1} """.format(set_flag, current_id)
print (sql_update_flag)
print ("Before commit")
currSrc.execute(sql_update_flag)
print "after commit"
connSrc.commit()

执行后失败并显示下一条日志:

('currently selected ID: ', 10) UPDATE REQUESTS SET fl_ready = 11 WHERE request_id=10 Before commit Traceback (most recent call last): File "C:\monitoring\GetRequest.py", line 168, in <module> main() File "C:\monitoring\GetRequest.py", line 164, in main SyncRequest(postconn, fireconn) File "C:\monitoring\GetRequest.py", line 92, in SyncRequest currSrc.execute(sql_update_flag) File "C:\Python27\ArcGIS10.2\lib\site-packages\mysql\connector\cursor.py", line 485, in execute self._connection.handle_unread_result() File "C:\Python27\ArcGIS10.2\lib\site-packages\mysql\connector\connection.py", line 1057, in handle_unread_result raise errors.InternalError("Unread result found") mysql.connector.errors.InternalError: Unread result found

看来问题出在这里: currSrc.execute(sql_update_flag)

但是我做错了什么?

最佳答案

您必须在执行任何其他操作之前获取所有行。

你可以这样做:

...
# do SELECT
postcursor.execute("SELECT ...")
rows = postcursor.fetchall()
...
# do UPDATE

关于python - mysql.connector.errors.InternalError : Unread result found during UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123525/

相关文章:

python - 无法打开资源文件,pygame错误: "FileNotFoundError: No such file or directory."

mysql - 如何将向量插入到 mysql 表的列中?

mysql - 如何从一个节点查询mysql,然后在spark上进行过滤?

mysql - 如何提高 200 多万条记录的查询性能

mysql - 在这种情况下我应该使用多个数据库吗(Ruby on Rails)

python - 有没有办法同时使用 .splitlines() 和 .split() ?

python - Django 1.10 - 如何将前端用户身份验证从用户名更改为电子邮件?

python - 任何类型的 Mypy 注释,但 None

python - 使用Python从MS Access中提取数据

mysql - 如何使用查询获取确切的行