Maison > base de données > tutoriel mysql > Comment échapper aux signes de pourcentage (%) dans les requêtes MySQL à l'aide de Python ?

Comment échapper aux signes de pourcentage (%) dans les requêtes MySQL à l'aide de Python ?

DDD
Libérer: 2024-11-18 01:08:02
original
241 Les gens l'ont consulté

How to Escape Percent Signs (%) in MySQL Queries Using Python?

Comment échapper % des caractères dans les requêtes MySQL à l'aide de Python

Lors de la construction de requêtes MySQL en Python, il est nécessaire d'échapper certains caractères, y compris le signe de pourcentage (%). Ne pas le faire peut entraîner des erreurs.

Considérez la requête suivante :

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

L'exécution de cette requête entraînera une exception "ValueError : caractère de format non pris en charge 'Y'". Cela se produit car MySQL interprète le caractère % comme un spécificateur de format dans la fonction DATE_FORMAT, au lieu de le traiter comme un caractère littéral.

Pour résoudre ce problème, il est recommandé d'utiliser l'échappement littéral comme suggéré par le connecteur MySQL/ Documentation Python :

literal% = '%%'  # Define a literal percent string
query = """SELECT DATE_FORMAT(date_time,'{}') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;""".format(literal%)

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

En échappant le caractère pourcentage avec un autre signe pourcentage, la requête sera exécutée correctement sans être affectée par le format interprétation du spécificateur. Cette approche garantit que le signe de pourcentage est traité comme un caractère littéral dans la requête.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal