解決 SQL WHERE 子句中的「未知列」錯誤
可怕的「Where 子句中的未知列」錯誤經常困擾 SQL 查詢。 當您的 SQL 語句在 WHERE
子句中引用資料庫系統無法找到的列名時,就會出現此錯誤。
讓我們來看一個典型場景:
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE user_name = "john";</code>
此查詢旨在從 u_name
表中取得 users
,別名為 user_name
,其中 user_name
是「john」。 但是,這通常會產生“where 子句中的未知列‘user_name’”錯誤。
根本原因是 SQL 的處理順序:它在 WHERE
子句之前計算 子句 。 因此,當資料庫到達 SELECT
子句時,別名 WHERE
尚未定義。 user_name
子句中使用的別名在 WHERE
被引用之前 被定義。 只需在 子句中使用原始列名稱即可:WHERE
<code class="language-sql">SELECT u_name AS user_name FROM users WHERE u_name = "john";</code>
,然後在 u_name
階段套用 user_name
別名,從而防止錯誤。 別名僅用於輸出,不用於過濾。 SELECT
以上是為什麼我的 SQL 查詢顯示「Where 子句中的未知列」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!