python - python & Mysql: 不支持的操作数类型:'int'和'tuple'

我想从表中获取一条记录并将其放在变量"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'

时间:

gl是一个元组,要访问'2'内部,你需要使用索引,然后在它上调用int(),得到一个整数:


>>> gl = (('2',),)
>>> gl[0][0]
'2'

不使用直接使用gl,而是使用:


>>> int(gl[0][0])
2

...