【问题标题】:I keep getting the error "relation [TABLE] does not exist"我不断收到错误“关系 [TABLE] 不存在”
【发布时间】:2018-06-10 19:59:28
【问题描述】:

我一直在尝试查询数据库中的两个表。在服务器资源管理器中,我可以看到两个表,甚至可以看到其中的列。我们将它们称为 Schema.table1 和 Schema.table2,其中“Schema”的第一个字母大写。我尝试运行以下查询:

select * from Schema.table1;

我得到以下错误:

错误:关系“schema.table1”不存在

然后我尝试运行下一个查询,认为架构中的大写可能会有所不同。

Select * from "Schema.table1"; 
select "ID" from "Schema.table1";

但同样的错误仍然存​​在:

错误:关系“Schema.table1”不存在

我后来尝试使用“SET search_path to”Schema1”指定架构路径,并在表上运行查询,这再次向我提供了相同的错误。任何想法或帮助将不胜感激。

【问题讨论】:

  • 该表确实存在。我可以在服务器资源管理器中看到它,甚至可以查看所有列。它就在那里。
  • 标识符的每个元素都需要被引用:"Schema"."table1"
  • 是Schema1还是Schema?
  • @a_horse_with_no_name 已经解决了这个问题。谢谢。

标签: sql postgresql quoted-identifier


【解决方案1】:

每个元素都必须单独引用:

select "ID" 
from "Schema"."table1";

有关带引号的标识符的更多详细信息是in the manual

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 2016-02-01
    相关资源
    最近更新 更多