Maison >base de données >tutoriel mysql >Comment afficher la requête réelle exécutée par MySQLdb ?
Comment afficher la requête réelle exécutée par MySQLdb
Lors du débogage de requêtes de base de données en Python à l'aide de MySQLdb, il peut être utile d'examiner la requête exacte requête en cours d'exécution, notamment après paramétrage. Cela peut aider à identifier toute erreur ou divergence entre la requête prévue et son exécution réelle.
Accès à la requête exécutée
Dans MySQLdb version 1.2.2, l'objet Cursor ne fournit pas de méthode Cursor.info() explicite pour récupérer les informations de requête. Cependant, il existe un attribut appelé curseur._last_executed qui contient la dernière chaîne de requête exécutée. Cet attribut est accessible même lorsqu'une exception se produit lors de l'exécution d'une requête.
Exemple d'utilisation
Pour utiliser cet attribut à des fins de débogage, vous pouvez y accéder après avoir exécuté une requête en tant que suit :
<code class="python">import MySQLdb db = MySQLdb.connect(... ) cursor = db.cursor() # Execute a query with parameters query = "SELECT * FROM users WHERE name = %s" cursor.execute(query, ("John", )) # Print the actual query executed print(cursor._last_executed)</code>
Avantages
L'utilisation de curseur._last_executed offre plusieurs avantages par rapport à d'autres techniques de débogage telles que le profilage ou la journalisation des requêtes MySQL :
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!