Python MySQL Connector: Unread Result Found When using fetchone
此问题涉及使用以下命令将 JSON 数据插入 MySQL 数据库时遇到的问题Python MySQL 连接器。插入更高级别的详细信息并尝试根据出发地和目的地坐标以及时间戳将较低级别的信息与父级信息相关联时,代码将失败并显示错误“发现未读结果”。
用于搜索的查询对于每组坐标和时间戳的唯一航段编号为:
query = ('SELECT leg_no FROM leg_data WHERE travel_mode = %s AND Orig_lat = %s AND Orig_lng = %s AND Dest_lat = %s AND Dest_lng = %s AND time_stamp = %s')
最初,尝试丢弃任何未读的结果:
cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng)) leg_no = cursor.fetchone()[0] try: cursor.fetchall() except mysql.connector.errors.InterfaceError as ie: if ie.msg == 'No result set to fetch from.': pass else: raise cursor.execute(query,(leg_travel_mode, leg_Orig_lat, leg_Orig_lng, leg_Dest_lat, leg_Dest_lng, time_stamp))
但是,错误依然存在。
经过进一步调查,发现解决方案在于指定缓冲游标。将 buffered=True 添加到游标初始化行解决了该问题:
cursor = cnx.cursor(buffered=True)
这可确保在幕后提取所有行,从而防止发生错误。
以上是为什么 `fetchone()` 在 Python 的 MySQL 连接器中导致'发现未读结果”,缓冲游标如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!