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

为什么数据库单字段查询调用fetchone返回的结果带有括号?

现象产生原因
  • 遵循Python DB API 2.0规范的数据库驱动中,fetchone()方法的返回值为代表单行查询结果的序列类对象,无论查询返回的字段数量是多少,只要命中结果都会返回该类对象,无命中时返回None。
  • 执行SELECT * FROM users查询时,返回的单行对象包含表内所有字段,你通过tmppass['password']主动提取了其中password字段对应的值,因此打印结果为单独的密码哈希字符串。
  • 执行SELECT password FROM users查询时,返回的单行对象仅包含1个字段,你直接打印整个返回对象tmppass_1,输出结果会展示序列对象的原生格式:如果是元组类型则会显示外层括号,末尾的逗号是Python单元素元组的特有标识,用于和普通括号包裹的表达式做区分。

取值方法

如果要从tmppass_1中获取纯密码哈希字符串,可采用两种方式取值:

# 方式1:通过下标取序列的第一个元素
real_password = tmppass_1[0]

# 方式2:若使用的驱动支持字段名取值,可直接通过字段名提取
real_password = tmppass_1['password']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:45:07