Maison > base de données > tutoriel mysql > Comment échapper au caractère « % » dans les requêtes MySQL à partir de Python ?

Comment échapper au caractère « % » dans les requêtes MySQL à partir de Python ?

Mary-Kate Olsen
Libérer: 2024-11-16 03:28:03
original
945 Les gens l'ont consulté

How to Escape the '%' Character in MySQL Queries from Python?

% d'échappement dans les requêtes MySQL à partir de Python

Lors de l'utilisation de la bibliothèque MySQLdb de Python, rencontre d'une exception "ValueError : caractère de format non pris en charge" lors de l'exécution d'un une requête avec un caractère "%" peut être frustrante. En effet, MySQL traite le caractère "%" comme un caractère générique et l'interprète comme faisant partie de la requête plutôt que comme un littéral.

Pour résoudre ce problème, la documentation recommande d'échapper les signes littéraux "%" dans le chaîne de requête passée à exécuter(). En utilisant un double % (%%), MySQL reconnaîtra le « % » comme un caractère littéral plutôt que comme un caractère générique.

Par exemple, la requête dans la question d'origine peut être modifiée comme suit :

query = """SELECT DATE_FORMAT(date_time, '%%Y-%%m') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;"""

cur.execute(query, (pram1, pram2))
Copier après la connexion

En échappant aux signes littéraux "%", MySQL reconnaîtra désormais "Y" et "m" comme des caractères spécifiques dans la chaîne DATE_FORMAT et l'erreur sera évitée.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal