Maison >base de données >tutoriel mysql >Comment résoudre l'erreur « Résultat non lu trouvé » dans le connecteur MySQL pour Python ?

Comment résoudre l'erreur « Résultat non lu trouvé » dans le connecteur MySQL pour Python ?

DDD
DDDoriginal
2024-11-29 20:36:13192parcourir

How to Resolve the

Connecteur MySQL pour Python : gestion du problème des résultats non lus

L'un des défis couramment rencontrés lors de l'utilisation du connecteur MySQL pour Python est le problème "non lu". résultat trouvé" erreur. Cette erreur se produit généralement lorsqu'il existe des résultats non traités d'une requête précédente qui n'ont pas été consommés avant l'exécution d'une nouvelle requête.

Dans l'extrait de code fourni, le problème survient dans une boucle où le curseur est utilisé pour exécuter une série de requêtes. Après chaque requête, la méthode fetchone() du curseur est appelée pour récupérer le premier résultat. Cependant, lorsque le curseur est ensuite utilisé pour exécuter une nouvelle requête, l'erreur « résultat non lu trouvé » est générée.

Ce comportement découle de la nature non tamponnée du curseur par défaut. En définissant le paramètre buffered sur True lors de la création du curseur, tous les résultats sont récupérés immédiatement et mis en cache. Cela évite le problème d'avoir des résultats non lus et permet de réutiliser le curseur sans rencontrer l'erreur.

Le code modifié à l'aide d'un curseur tamponné :

cursor = cnx.cursor(buffered=True)

cursor.execute(query,(travel_mode, Orig_lat, Orig_lng, Dest_lat, Dest_lng, time_stamp))
leg_no = cursor.fetchone()[0]

# ... Rest of the code ...

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn