カーソルから結果の一部を読み取り、すべての結果を読み取らずに閉じたい。すべての結果を反復処理したり、バッファ オプションcursor.close()
を使用したりせずにカーソルを閉じることは可能ですか?InternalError: 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