排除 PostgreSQL 的“关系不存在”错误
PostgreSQL 中可怕的“错误:关系‘table_name’不存在”通常源于一个简单的疏忽:错误地引用了你的表名。本指南可帮助您查明并解决问题。
区分大小写:关键因素
PostgreSQL 区分大小写。 您的表名称必须与创建表时使用的大小写精确匹配。对于混合大小写的名称,请始终将标识符括在双引号中:
<code class="language-sql">CREATE TABLE "MyTable" ( ... ); SELECT * FROM "MyTable";</code>
架构搜索路径:扩展搜索
如果您的表名仅使用小写字母并且错误仍然存在,请调整您的架构搜索路径。这告诉 PostgreSQL 在哪里查找表。 将包含表的架构添加到路径:
<code class="language-sql">SET search_path TO my_schema,public;</code>
现在,您可以在不显式指定架构的情况下查询表(假设它位于 my_schema
中):
<code class="language-sql">SELECT * FROM mytable;</code>
进一步阅读和资源
要更深入地了解模式搜索路径和 PostgreSQL 的区分大小写规则,请参阅 PostgreSQL 官方文档:
以上是如何修复 PostgreSQL 中的'关系不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!