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

SQLite查询无法获取数字列名的列值,仅输出列名数字本身

问题原因与解决方法

你的问题出在SQL语句的写法上:当列名是纯数字(比如80)时,直接写SELECT t,80 FROM SS_SZT,SQLite会把80当成数字常量,而不是列名,所以每条结果里都会输出固定的80,而非对应列的实际内容。

要正确读取名为80的列,需要把数字列名用标识符包裹起来,SQLite支持三种方式:

  • 双引号("80")
  • 方括号([80])
  • 反引号(`80`)

修改后的代码示例:

import sqlite3


def request():
    with sqlite3.connect('sqlite_db.db') as sqlite_conn:
        # 用双引号包裹数字列名,推荐这种符合SQL标准的写法
        sql_request = 'SELECT t,"80" FROM SS_SZT'
        sql_cursor = sqlite_conn.execute(sql_request)
        res = sql_cursor.fetchall()
        for i in res:
            print(i)

request()

运行修改后的代码,就能同时获取t列和80列的实际值了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:52:04