Discussion:
[Python-es] PRoblema escapando query
unknown
2014-08-29 13:56:55 UTC
Permalink
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(),))

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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140829/e68d5708/attachment.html>
unknown
2014-08-29 14:02:08 UTC
Permalink
Post by unknown
Buenos dias.
Voy a hacer esta consulta, que parece re pava, pero ya hace un rato que no
Estoy tratando de ejecutar la siguiente consulta y no logro que funcione.
Paso a explicar
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(),))
Post by unknown
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>
unknown
2014-08-29 14:05:15 UTC
Permalink
Funciono!!

Muchas gracias!


El 29 de agosto de 2014, 11:02, Miguel González Álvarez <
Post by unknown
Buenos dias.
Post by unknown
Voy a hacer esta consulta, que parece re pava, pero ya hace un rato que
Estoy tratando de ejecutar la siguiente consulta y no logro que funcione.
Paso a explicar
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(),))
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(),))
Post by unknown
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
_______________________________________________
Python-es mailing list
Python-es en python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140829/c2d065bf/attachment.html>
unknown
2014-08-29 14:00:59 UTC
Permalink
Intenta poniendo %% en el like en lugar de una.

Saludos.

by:

ISC. Manuel Alejandro Estévez Fernández



El 29 de agosto de 2014, 8:56, Nicolas lino <nicolaslino1 en gmail.com>
Post by unknown
Buenos dias.
Voy a hacer esta consulta, que parece re pava, pero ya hace un rato que no
Estoy tratando de ejecutar la siguiente consulta y no logro que funcione.
Paso a explicar
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(),))
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/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140829/b1326df7/attachment.html>
Loading...