我想从光标读取部分结果,然后在不读取所有结果的情况下关闭它。cursor.close()
raisesInternalError: Unread result found.
是否可以在不遍历所有结果或使用缓冲区选项的情况下关闭游标?
更新:
我的查询获得大约 3000 条记录,我的目标是获得符合某些条件的前几条记录。在遍历部分结果后,我得到了我想要的。然后我想放弃未读的结果。我不使用缓冲区选项,据我所知,它会立即读取所有结果。此问题与 Python MySQL 连接器不重复- 使用 fetchone 时发现未读结果
def chooseInstrumentsFromOrigin(self, time):
sql = """select symbol, name, total_ratio, outstanding_ratio from market_values
where time = %s order by {captype} asc""".format(captype=self.strategy_data['captype'])
args = [time]
conn = mysql.connector.connect(**mysql_config)
cursor = conn.cursor(dictionary=True)
cursor.execute(sql, args)
# This function will return half way.
symbols = self.chooseInstrumentsFromLeaders(time, cursor)
# I don't want this line!
for i in cursor: pass
cursor.close()
conn.close()
return symbols