我正尝试将XML(由http请求提供)中获得的一些值插入到mysql数据库中。我正在执行以下操作:
a = parse.get(m)
quiero = a.split(' ')
z = int(quiero[0]) #get the value and transfor in a int
ydb = m
xdb = cursor.execute("select m_symbol from mType where m_symbol = %s", ydb) #get the PK of the column mType
xdb1 = cursor.execute("select id_meter from meter where nombre = %s", id_cont1) #get the PK of the column meter
sql = ("INSERT INTO medida"
"(time_medida, time_stamp, valor, meter_id_meter, mType_id_Type)"
"VALUES (%s, %s, %d, %d, %d)")
val = (y2, y2, z, xdb1, xdb)
cursor.execute(sql, val)
问题是我得到了错误:%d format: a number is required, not str
。这是因为变量z
(我尝试将xdb1
和xdb
作为%s,所以我仅有的%d是z
),并且我确信{ {1}}是一个整数,因为我做了z
并得到了print (z, type (z))
。
我不知道是否有其他方式可以将这些值插入mysql数据库。