MySQL Unknow列异常

时间:2019-01-07 14:16:51

标签: mysql mysql-5.7

此查询中出现未知列异常

SELECT sessions.*, sessions.id AS session_id FROM sessions WHERE session_id = 1;

显示“ unknown column session_id”

但是我已经提到“ session_id”是“ sessions.id”的别名。

我无法更改where条件。我只能更改选择部分。因为实际查询太复杂了,我不想弄乱这个查询。

我正在使用mysql 5.7

2 个答案:

答案 0 :(得分:3)

WHERE语句中无法访问别名。您需要使用实际的列名,如下所示:

SELECT sessions.*, sessions.id AS session_id FROM sessions WHERE sessions.id = 1;

答案 1 :(得分:2)

我遵循@David和@RaymondNijland的建议使其工作。所以现在我的查询看起来像

SELECT * FROM (
    SELECT sessions.*, sessions.id AS session_id 
    FROM sessions
) AS alias
WHERE session_id = 1;