python中用insert into向数据库中插入数据,values里面的值是浮点型变量怎么办

代码如下:
:
cur=con.cursor();
date=ser.readline()
print date
string=date
string=string.replace("\r","")
string=string.replace("\n","")
value1=float(string)
print float(value1)
cur.execute("INSERT INTO athomes(temperature) VALUES(value1)")

报错:
_mysql_exceptions.OperationalError: (1054, "Unknown column 'value1' in 'field list'")

我该怎么办呢

第1个回答  2014-06-16
应为这样吧 cur.execute("INSERT INTO athomes(temperature) VALUES(‘“+value1+”’)")追问

不可以,还是报错的
TypeError: cannot concatenate 'str' and 'float' objects

追答

temperature
是什么数据类型?
再改

cur.execute("INSERT INTO athomes(temperature) VALUES(“+value1+”)")
我XX,都成了你调试我改错了,要学会看调试错误提示啊

追问

我有看啊,temperature是float,这样做是不可以的,数据库中temperatrue也是float类型,你所给的两个建议都是把他当成字符串处理的吧,所以不可以

追答

把 value1 再转回 字符串 ,因为字符串 和 float 无法相加

本回答被提问者采纳
第2个回答  2018-03-30
试试:
cur.execute("INSERT INTO athomes(temperature) VALUES(%r)"%value1)
第3个回答  2014-06-16
应为这样吧 cur.execute("INSERT INTO athomes(temperature) VALUES(‘“+value1+”’)")追问

不可以,还是报错的
TypeError: cannot concatenate 'str' and 'float' objects

追答

temperature
是什么数据类型?
再改

cur.execute("INSERT INTO athomes(temperature) VALUES(“+value1+”)")
我XX,都成了你调试我改错了,要学会看调试错误提示啊

追问

我有看啊,temperature是float,这样做是不可以的,数据库中temperatrue也是float类型,你所给的两个建议都是把他当成字符串处理的吧,所以不可以

追答

把 value1 再转回 字符串 ,因为字符串 和 float 无法相加

本回答被提问者采纳
第4个回答  2018-03-30
试试:
cur.execute("INSERT INTO athomes(temperature) VALUES(%r)"%value1)
相似回答
大家正在搜