2010-06-14 10 views
19

¿Cómo puedo escapar del% de una consulta de mysql en python?¿Cómo puedo escapar% de python mysql query

Por ejemplo

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)) 

me da un "ValueError: formato de caracteres no soportado 'Y'" es una excepción.

¿Cómo obtengo mysqldb para ignorar el%? No puedo ver esto en ninguno de los documentos.

+2

+1 Así que sólo me sorprende. ¡Vengo aquí pensando que esto va a ser difícil de decir! Pero no, ¡ya se ha preguntado y respondido! –

Respuesta

23

escape literal es recomendado por el docs:

Note that any literal percent signs in the query string passed to execute() must be escaped, i.e. %% .