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

SQLAlchemy中session.execute返回带()和,的结果,如何获取纯单元格值?

解决方法

fetchone()返回的是包含查询结果的元组,你看到的('Berlin',)就是单个元素的元组格式,要提取其中的具体值,有几种简单方法:

  • 索引取值:直接通过索引[0]获取元组的第一个元素

    # 注意:SQL语句中字符串值要加单引号,避免语法错误
    var = db.session.execute(text(f"SELECT city FROM world WHERE country = 'Germany'")).fetchone()[0]
    
  • 解包赋值:将元组直接解包到变量中

    city, = db.session.execute(text(f"SELECT city FROM world WHERE country = 'Germany'")).fetchone()
    # 此时city变量的值就是'Berlin'
    
  • 使用scalar()方法(推荐):SQLAlchemy 1.4及以上版本支持用scalar()直接返回单个结果值,无需额外处理元组

    var = db.session.execute(text(f"SELECT city FROM world WHERE country = 'Germany'")).scalar()
    

另外注意你的原SQL语句中,country = Germany里的Germany没有加单引号,这会被数据库解析为列名而非字符串值,大概率会触发语法错误,记得补上单引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 02:03:13