[Python-es] PRoblema escapando query

Miguel González Álvarez migonzalvar en gmail.com
Vie Ago 29 16:02:08 CEST 2014


2014-08-29 15:56 GMT+02:00 Nicolas lino <nicolaslino1 en gmail.com>:

> Buenos dias.
>
> Voy a hacer esta consulta, que parece re pava, pero ya hace un rato que no
> puedo resolverlo:
>
>
> Estoy tratando de ejecutar la siguiente consulta y no logro que funcione.
> Paso a explicar
>
> De esta manera me da un error de sql:
> uploadquery = '''UPDATE server_configs SET config = %s WHERE name =
> "catalog" AND (server_key = "bak" OR server_key like "juegosg\%")'''
> prod_cur.execute(uploadquery, (files.read(),))
>
>
Prueba a escapar % usando doble %%:

    uploadquery = 'UPDATE server_configs SET config = %s WHERE name =
"catalog" AND (server_key = "bak" OR server_key like "juegosg%%")'
    prod_cur.execute(uploadquery, (files.read(),))



> Si no escapo el % llego al mismo error:
> uploadquery = '''UPDATE server_configs SET config = %s WHERE name =
> "catalog" AND (server_key = "bak" OR server_key like "juegosg%")'''
> prod_cur.execute(uploadquery, (files.read(),))
>
> De esta manera funciona, pero tengo que harcodear el valor y no es siempre
> igual
> uploadquery = '''UPDATE server_configs SET config = %s WHERE name =
> "catalog" AND (server_key = "bak" OR server_key = "juegosgsarasa")'''
> prod_cur.execute(uploadquery, (files.read(),))
>
> En fin, no puedo ejecutar un like escapando %.
>
> Hay que tener en cuenta que estoy cargando un blob de 15 megas en 'config'
> con el (files.read(),)), por eso lo hago de esta manera.
>
>
> Si a alguien se le ocurre algo, o ya se topo con esto agradezco la ayuda.
>
> Saludos.
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Miguel González
migonzalvar en gmail.com
PGP ID: 0C63761BEEBD05D3
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140829/dd6b3347/attachment.html>


Más información sobre la lista de distribución Python-es