Python MySQLdb问题(TypeError:%d格式:一个数字是必需的,而不是str)
我正在尝试执行以下插入操作:
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) )
我的MYSQL表的结构是:
id int(255), parent_id int(255), level int(11), description varchar(255), code varchar(255), start decimal(25,4), end decimal(25,4)
但是,当我运行我的程序,我得到错误
“执行查询中的”/usr/lib/pymodules/python2.6/MySQLdb/cursors.py“行151,查询%db.literal(args)
TypeError:%d格式:需要一个数字,而不是str“
格式string不是一个真正的Python格式string。 您必须始终使用%s
作为所有字段。
由于他的数据是整数或十进制格式,你怎样使用通常用于string格式%s的%s,或%i应该用于整数还是十进制值。
尝试这个 :
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) )