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

如何使用Python的sqlite3访问附加数据库中的表?

问题解决:SQLite附加数据库后查询表报错“不存在该表”

错误原因

你查询附加数据库表的SQL语句存在错误。要获取附加数据库中的表列表,必须指定该数据库下的sqlite_master系统表,而非直接使用数据库名称。你的代码中执行SELECT name FROM {db_2_name} WHERE type='table';时,SQLite会将db2识别为表名去查找,因此触发“不存在该表”的报错。

修正后的代码

将查询附加数据库表的语句修改为:

tables = cursor.execute(f"SELECT name FROM {db_2_name}.sqlite_master WHERE type='table';").fetchall()
print(tables)

额外说明

后续查询附加数据库内的具体表数据时,同样需要使用数据库名.表名的格式来指定,示例:

# 查询db2数据库内test_table表的数据
data = cursor.execute("SELECT * FROM db2.test_table;").fetchall()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:09:17