PostgreSQL「不存在關係」錯誤:故障排除指南
在 PostgreSQL 中遇到「不存在關係」錯誤表示您的查詢引用了資料庫找不到的表。 這是一個常見問題,通常源自於簡單的錯誤。
一個常見的罪魁禍首是區分大小寫。 PostgreSQL 表名區分大小寫。 如果您的表名為“MyTable”,但您的查詢使用“mytable”,資料庫將無法識別它。
解1:使用雙引號精確表命名
最簡單的修復方法是在 SQL 查詢中使用雙引號引起來的表名。這會強制 PostgreSQL 匹配表名的確切大小寫。
<code class="language-sql">SELECT * FROM "MyTable" LIMIT 10;</code>
解2:修改搜尋路徑
或者,您可以調整資料庫的搜尋路徑。此設定規定 PostgreSQL 搜尋表的順序。透過在搜尋路徑中包含包含表的架構,您可以避免在查詢中明確指定架構。
要修改搜尋路徑,請使用SET search_path
指令:
<code class="language-sql">SET search_path TO my_schema, public;</code>
將 my_schema
替換為實際的架構名稱。 設定路徑後,可以使用更簡單的查詢:
<code class="language-sql">SELECT * FROM MyTable LIMIT 10;</code>
延伸閱讀
想深入了解PostgreSQL的搜尋路徑機制,請查閱官方文件:https://www.php.cn/link/d7323519970d0e3680ef5fa1edfe0e56
以上是為什麼 PostgreSQL 回傳「關係不存在」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!