首页 > 解决方案 > read_sql_query 所有表上的无效对象名称

问题描述

我试图在 Jupyter 中通过 pandas 的 read_sql_query 运行一个非常基本的 SQL 查询,即

df=pd.read_sql_query('SELECT * FROM table_name',conn)
print(df)

查询未执行,显示 ProgrammingError 42S02 - Invalid object name 'table_name'。然而,当我运行相同的查询并将 table_name 替换为 sys.tables 时,

df=pd.read_sql_query('SELECT * FROM sys.tables',conn)
print(df)

该列表显示所有表,包括 table_name 表。我也试过 db_name.table_name ,它告诉我 db_name.table_name 是无效对象。

可能是什么问题?

标签: pythonsqlpandas

解决方案


正如@Datanovice 在评论中指出的那样,查询中缺少数据库模式。添加架构缩写后,一切正常


推荐阅读