Olu*_*eri 6 python mysql decimal typeerror mysql-python
我使用的是Python 2.7和MySQLdb.我在这段代码上得到了这个错误:
Value = 5
x.execute("SELECT number from Testing where id ='%s';" % Value)
data = x.fetchall()
print (data)
data = data[0][0]
data = data + 0.5
x.execute(""" UPDATE Testing SET number = %s WHERE id = %s """, (data, Value))
conn.commit()
Run Code Online (Sandbox Code Playgroud)
错误发生在该行:data = data + 0.5.
TypeError: unsupported operand type(s) for +: 'decimal' and 'float'.
这个数字是DECIMAL(8,1).我已经看到了此错误的其他问题,但没有添加.另外,我认为如果他们不熟悉Python并且无法理解类似问题的更高级Python编码,那么有些人会遇到同样的问题.请你帮助我好吗?提前致谢.
似乎没有对该操作的支持,您必须首先构造一个Decimal对象并添加:
In [132]:
import decimal
?
d = decimal.Decimal(23.0)
d = d + decimal.Decimal(0.5)
d
Out[132]:
Decimal('23.5')
Run Code Online (Sandbox Code Playgroud)