Échapper à % dans les requêtes MySQL à partir de Python
Lors de la création de requêtes MySQL en Python, vous pouvez rencontrer des scénarios dans lesquels vous devez éviter l'injection SQL ou gérer correctement les caractères spéciaux comme le signe de pourcentage (%); sinon, vous pourriez rencontrer des erreurs. Cet article fournit une solution pour échapper les caractères % dans les requêtes Python MySQL.
Pour résoudre l'exception "caractère de format non pris en charge 'Y'", vous devez échapper le signe de pourcentage (%) dans la chaîne de requête. Selon la documentation MySQL, l'échappement littéral est recommandé, obtenu en remplaçant chaque % par un double signe de pourcentage (%%).
Voici un extrait de code mis à jour qui implémente cette approche :
query = """SELECT DATE_FORMAT(date_time,'%%Y-%%m') AS dd FROM some_table WHERE some_col = %s AND other_col = %s;""" cur.execute(query, (param1, param2))
En suivant cette recommandation, MySQL interprétera %% comme un signe de pourcentage littéral, l'empêchant d'interférer avec le formatage de la requête. Cela résoudra l'exception que vous avez rencontrée et permettra à votre requête de s'exécuter avec succès.
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!