[Python-es] Necesito verificar o crear una tabla que contiene en el nombre una variable?

zodman zodman en gmail.com
Mie Mar 14 19:30:52 CET 2012


sql = """insert into u_%(variable)s ( id ) VALUES (%(idunidad)s)""" % dict(
variable= variable, idunidad = idunidad)

cursor.execute(sql)

2012/3/14 Diego Uribe Gamez <diego.uribe.gamez en gmail.com>

> La intención es insertar en una base de datos el dato idunidad en el campo
> id, la cuestión es que si no existe la tabla numero '12345' (variable) la
> cree, pero que si ya existe solo guarde el dato.
>
> -----------------------------------------------------------------------------------------
> variable = '12345'
> idunidad = 2501
> sql = ("""insert into u_%(variable)s ( id ) VALUES (%s)""")
> # si puede guardar la variable en la base de datos hacer:
> if cursor.execute(sql, (idunidad,) % {table_name: table_name}):
>     db.commit()
>     cursor.close()
>     db.close()
> # Pero si no puede porque la base de datos no existe, crear la base de
> datos y guarde el dato.
> else:
>     cursor.execute('''create table u_%(variable)s stocks (id)''')
>     cursor.execute(sql,(id,) % {table_name: table_name})
>     db.commit()
>     cursor.close()
>     db.close()
>
> -----------------------------------------------------------------------------------------
> Al final me sale este error:
> TypeError: unsupported operand type(s) for %: 'tuple' and 'dict'
>
> No logro hacer que variable entre a la consulta como el contenido de la
> variable = '12345' que es dinamica y lograr hacer que la base de datos
> nueva quede con el nombre: u_12345, alguna sugerencia?
>
>
> --
>  *Diego Alonso Uribe Gamez*
> ------------------------------
>
> *Desarrollador web*
>
> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>
>
> Google+: http://gplus.to/diegoug
> ------------------------------
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://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/20120314/ddf6ef88/attachment.html>


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