Python コネクタを使用して MySQL データベースを操作する場合、「未読の結果が見つかりました」というエラーが発生する可能性があります。 。」この問題は通常、バッファリングされていないカーソルに関連しており、単一の接続で複数のクエリを実行するときに発生する可能性があります。
提供されたコードでは、次の行が原因でエラーが発生している可能性があります:
leg_no = cursor.fetchone()[0]
この行はクエリ結果から 1 行のみをフェッチし、残りの結果は未処理のままにします。同じカーソルを使用する後続のクエリは、「未読の結果が見つかりました」エラーで失敗します。
解決策:
この問題を解決するには、カーソルのバッファ属性を設定します。作成時に True に設定します。これにより、その後のクエリを実行する前に、コネクタが結果セット全体をバッファリングするようになります。
cursor = cnx.cursor(buffered=True)
さらに、後続のクエリを実行する前に、 fetchall() を使用してカーソルから残りの結果をすべて明示的にフェッチすることをお勧めします。これは、次のコードで実行できます:
try: cursor.fetchall() except mysql.connector.errors.InterfaceError as ie: if ie.msg == 'No result set to fetch from.': pass else: raise
カーソルをバッファリングに設定し、すべての結果を明示的にフェッチすることで、「未読の結果が見つかりました」エラーを回避できます。
以上がPython で MySQL コネクタの「未読の結果が見つかりました」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。