PostgreSQL LEFT JOIN 錯誤故障排除:區分大小寫與列名稱
使用 LEFT JOIN
執行 SQL 查詢有時會導致令人沮喪的「列...不存在」錯誤。這通常源自於引用列名的方式不一致。
這個範例突顯了一個常見的陷阱:PostgreSQL 中的大小寫敏感度。 main_sim
表包含一個名為 FK_Numbers_id
的外鍵列。 雖然表定義 (d main_sim
) 確認其存在,但查詢失敗,因為列名大小寫不一致。 查詢使用 FK_Numbers_id
(大寫),而資料庫將其儲存為 fk_numbers_id
(小寫)。
PostgreSQL 的大小寫敏感度在這裡至關重要。 如果使用雙引號列名建立表格(按照文件中的建議),則所有列名都嚴格區分大小寫。 這表示您必須在查詢中使用確切的大小寫 - 包括雙引號。
解:
修正後的查詢使用雙引號明確指定列名的大小寫:
<code class="language-sql">SELECT sim.id AS idsim, num.id AS idnum FROM main_sim sim LEFT JOIN main_number num ON ("FK_Numbers_id" = num.id);</code>
此修改可確保引用正確的列,解決「列不存在」錯誤並允許 LEFT JOIN
成功執行。 請記住,在使用 PostgreSQL 時,一致且精確的大小寫至關重要,特別是在處理雙引號識別碼時。
以上是為什麼我的 PostgreSQL LEFT JOIN 失敗並出現'列不存在”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!