update mysqldb multiple insertar desde python insertion mysql-python

mysqldb - python mysql select



Problemas con Python MySQLdb(formato TypeError:% d: se requiere un nĂºmero, no str) (3)

Estoy tratando de hacer la siguiente operación de inserción:

cursor.execute(""" insert into tree (id,parent_id,level,description,code,start,end) values (%d,%d,%d,%s,%s,%f,%f) """, (1,1,1,''abc'',''def'',1,1) )

La estructura de mi tabla MYSQL es:

id int(255), parent_id int(255), level int(11), description varchar(255), code varchar(255), start decimal(25,4), end decimal(25,4)

Sin embargo, cuando ejecuto mi programa, obtengo el error

"Archivo" /usr/lib/pymodules/python2.6/MySQLdb/cursors.py ", línea 151, en ejecución query = query% db.literal (args)

TypeError: formato% d: se requiere un número, no str "


Dado que sus datos están en formato entero o decimal, ¿cómo se puede usar% s, que generalmente se utiliza para el formato de cadena% d o% i, se debe usar para valores enteros o decimales.


La cadena de formato no es realmente una cadena de formato de Python normal. Siempre debe usar %s para todos los campos.


prueba esto :

cursor.execute(""" insert into tree (id,parent_id,level,description,code,start,end) values (%s,%s,%s,''%s'',''%s'',%s,%s) """%(1,1,1,''abc'',''def'',1,1) )