Échapper à % dans les requêtes MySQL à partir de Python
Lors de l'exécution d'une requête MySQL qui inclut un caractère % en Python, vous pouvez rencontrer une erreur due à son importance particulière en tant que spécificateur de format. Pour éviter cela, vous devez échapper le caractère % pour indiquer qu'il doit être traité comme un littéral.
Solution : échappement littéral
L'approche recommandée pour échapper à % utilise l'échappement littéral comme décrit dans la documentation MySQL. Cela implique de doubler le caractère %, c'est-à-dire de remplacer % par %%.
Par exemple, considérons 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;"""
En échappant les caractères % dans la chaîne de format de date, nous avons effectivement dites à MySQL de les ignorer et de les traiter comme des caractères littéraux. Lorsque vous exécutez cette requête, elle produira les résultats souhaités sans déclencher l'erreur de spécificateur de format.
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!