PostgreSQL 查询返回“关系不存在”错误的解决方法
在 PHP 中执行数据库查询时,遇到“relation does not exist”(关系不存在)错误可能会令人困惑,尤其是在表名正确的情况下。此问题通常源于表名大小写不一致。
关键在于验证表名与数据库中的拼写完全一致。例如,如果表名包含大小写混合字母,则必须在查询中用双引号将表名括起来。这确保查询引用表的精确大小写。因此,如果表定义为 "SF_Bands",则查询应为:
<code class="language-sql">SELECT * FROM "SF_Bands";</code>
或者,您可以通过修改 "search_path" 来包含所需的模式,从而避免大小写问题。这允许您引用表名而不必指定其模式,查询将按顺序搜索模式,直到找到表为止。要设置搜索路径,请执行以下命令:
<code class="language-sql">SET search_path TO showfinder,public;</code>
请记住将命令中的 "showfinder" 调整为包含表的模式名称。通过更改 "search_path",您可以避免在引用表时指定模式的需要,从而最大限度地减少大小写相关的错误。
有关 "search_path" 设置的更多信息,请参阅 PostgreSQL 文档:
https://www.php.cn/link/d7323519970d0e3680ef5fa1edfe0e56
以上是为什么即使表名正确,我的 PostgreSQL 查询也会返回'关系不存在”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!