cursor.fetchall() 使用 MySQldb 和 python 返回额外的字符

2024-02-28

当我使用 python 从 SQL 数据库获取结果时,我在返回值的开头和结尾处获得了额外的字符。例如,下面的代码返回 ((56L,),) 而不是 56,有谁知道如何获取该值...以及 (( ,),) 的实际含义...?

hp= 56
id= 3

database = MySQLdb.connect (host="localhost", user = "root", passwd = "", db = "db")

cursor = database.cursor()

cursor.execute("UPDATE period_option SET points =%s WHERE period_option_id =%s", (hp, id))

cursor.execute("SELECT points FROM period_option WHERE period_option_id =%s", (po_id_home))
results = cursor.fetchall()
print results  

fetchall()返回元组列表(实际上:元组)。将其视为行序列,其中每行都是列中的项目序列。如果您确定搜索将仅返回 1 行,请使用 fetchone(),它返回一个元组,这更容易解压。以下是从 fetchall() 和 fetchone() 中提取所需内容的示例:

# Use fetchall():
((points,),) = cursor.fetchall()  # points = 56L

# Or, if you use fetchone():
(points,) = cursor.fetchone()     # points = 56L
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cursor.fetchall() 使用 MySQldb 和 python 返回额外的字符 的相关文章

随机推荐