解决 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中文网其他相关文章!