我一直在尝试使用python脚本将值保存到mysql数据库中,而且进展顺利。我存储的数据是列中的整数60 NIGHT_SECONDS
在table上 weather_settings
. 但是,当我试图获取数据以在另一个脚本中使用时,似乎得到了值 ((60L,),)
. 我试过用谷歌搜索这个,但我没有运气。有人能帮我理解我做错了什么吗?
这是我的密码:
def gettime():
db = MySQLdb.connect("localhost","user","pass","weather")
cursor = db.cursor()
try:
sql = "select NIGHT_SECONDS from weather_settings"
cursor.execute(sql)
global delay
delay = cursor.fetchall()
print("Data fetched from MySQL")
#print(delay)
print(delay)
except:
print("Database fetching failed")
cursor.close()
db.close()
这是最终结果:
Data fetched from MySQL
((60L,),)
如果我试着用这个值 time.sleep(delay)
我明白了:
TypeError: a float is required
所以我试了这个:
delay = float(delay)
这也不管用。
1条答案
按热度按时间c9qzyr3d1#
你的问题是
fetchall()
返回行的元组,行本身就是列值的元组,因此需要像delay[0][0]
.这可以简化一点使用
fetchone()
: