【发布时间】:2014-10-27 00:02:06
【问题描述】:
我需要您的帮助来通过 python 更新我的 mysqldb 中的数据。一切正常,包括读取、插入等。 以下查询不起作用...
cursor.execute("UPDATE einzel.check SET Kursbuch = %s WHERE analysen.Nummer = %s" (Decimal(kurs),i[8]))
我尝试了几个用于 kurs 和 i[8] 的选项,总是收到以下消息:
cursor.execute("UPDATE einzelanalyse.analysen SET Kurs bei empf = %s WHERE analysen.Nummer = %s" (Decimal(kurs),i[12]))
TypeError: 'str' 对象不可调用
str(i[8]) 也不起作用。
“kurs”是一个小数。在程序中,我将它与 Decimal(kurs) 一起使用,我可以毫无问题地计算。要写入数据库“Kurs bei empf”的值的格式为 decimal(10,2)
i[12] 是我之前获取的数据库条目的一部分。在数据库中格式为 int(11)
提前感谢您的帮助!
Grüße!
【问题讨论】:
-
我不清楚。小数是转换函数:
-
您是否尝试过不使用
Decimal并放置一些测试值(例如1.01)来运行相同的查询? -
from decimal import * 然后可以使用 Decimal (xxx) 将字符串转换为十进制
-
好点!现在我尝试了 cursor.execute("UPDATE
einzelanalyse.analysenSETKurs bei empf= %s WHEREanalysen.Nummer= %s" (1.01, 178317)) 它也不起作用。但现在我看到了问题,我认为是“Kurs bei empf”中的空格。会是这样吗?
标签: python database mysql-python