我想从表中获取记录并将其放在变量“gl”中。 如果值大于或小于值+ -gl,则应写入数据库
import MySQLdb
import time
import string
while True:
db = MySQLdb.connect(host="10.0.0.100", port=3306, user="ubuntu", passwd="ubuntu", db="test")
cursor = db.cursor()
cursor.execute("SELECT glaettung FROM ttable ORDER BY id DESC LIMIT 1")
gl = cursor.fetchall()
print gl
value = (20)
if (value < (value-gl)):
cursor = db.cursor()
cursor.execute("INSERT INTO ttable (value) VALUES(%s)", (value))
elif (value > (value+gl)):
cursor = db.cursor()
cursor.execute("INSERT INTO ttable (value) VALUES(%s)", (value))
else:
print "Done"
这是错误:
ubuntu@ubuntu-Aspire-6920:~/Dokumente$ python test.py
(('2',),)
Traceback (most recent call last):
File "test.py", line 13, in <module>
if (value < (value-gl)):
TypeError: unsupported operand type(s) for -: 'int' and 'tuple'
答案 0 :(得分:1)
gl
是一个元组,要访问其中的'2'
,您需要使用索引,然后在其上调用int()
得到一个整数:
>>> gl = (('2',),)
>>> gl[0][0]
'2'
因此,不要直接使用gl
,而是使用:
>>> int(gl[0][0])
2