You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MySQL查询到的记录值正确赋值给Python变量?

报错原因

mysql.connector 默认创建的普通游标返回的查询结果为元组类型,元组仅支持整数下标访问元素,不支持使用字符串格式的字段名作为索引,因此data['temperature']写法会触发类型错误。

解决方案

方案1:使用元组下标取值

你的查询语句仅返回temperature单个字段,fetchone()拿到的元组第一个元素就是目标值,直接按下标取值即可:

# 替换原来的 temp = data['temperature'] 即可
temp = data[0]

如果后续查询多字段,按SELECT语句中字段的顺序,依次对应下标0、1、2...即可取值。

方案2:创建字典游标,支持字段名访问

如果需要用字段名作为key取值,可以在初始化游标时指定dictionary=True参数,游标会返回字典格式的查询结果:

# 修改创建游标的代码行
mycursor = db.cursor(dictionary=True)

修改后你原来的temp = data['temperature']代码可以正常运行。

额外优化建议

查询可能返回空结果(表中无数据时fetchone()会返回None),建议取值前先做非空判断,避免后续报错:

if data:
    # 取值逻辑写在这里
    temp = data[0] # 或者data['temperature']
else:
    # 无数据的兜底逻辑
    temp = 0

内容的提问来源于stack exchange,提问作者matrunaydo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:54:05