[Python-es] formato para string y MySQLdb

lasizoillo lasizoillo en gmail.com
Mie Mar 3 15:40:19 CET 2010


El día 3 de marzo de 2010 15:00, Boris Perez Canedo
<inf200523 en ucf.edu.cu> escribió:
> Hola a todos,
>
> Necesito almacenar en una base de datos (MySQL) cadenas que contienen el
> caracter \ , sucede que este es el caracter de escape y si, por ejemplo,
> hago lo de abajo solo me almacena \hola. La cadena que tengo que almacenar
> es del tipo unicode. En la tabla los campos son utf8_unicode_ci
>
> import MySQLdb
>
> word = u'\\hola'
>
> query = "insert into cadenas (cadena) values ( '%s' )" %(word, )
> ...
>
> como necesito comparar informacion nueva con la almacenada el resultado de
> una consulta select == word me da False cuando yo espero que sea True.
>
>

No hagas nunca eso o un malvado practicante te meterá una gran inyencción SQL.

http://wiki.python.org/moin/DbApiFaq

usa:

query = "insert into cadenas (cadena) values ( '%s' )"
cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word)


Un saludo:

Javi



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