Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connecteur Python MySQL - résultat non lu trouvé lors de l'utilisation de fetchone

Tout ce qui était requis était pour buffered être défini sur vrai !

cursor = cnx.cursor(buffered=True)

La raison en est que sans curseur mis en mémoire tampon, les résultats sont chargés "paresseusement", ce qui signifie que "fetchone" ne récupère en fait qu'une seule ligne du jeu de résultats complet de la requête. Lorsque vous utiliserez à nouveau le même curseur, il se plaindra que vous avez toujours n-1 résultats (où n est le montant de l'ensemble de résultats) en attente d'être récupérés. Cependant, lorsque vous utilisez un curseur tamponné, le connecteur récupère TOUTES les lignes dans les coulisses et vous n'en prenez qu'une du connecteur pour que la base de données mysql ne se plaigne pas.