Mysql 未知列异常

Mysql unknow column exception

我从这个查询中得到未知的列异常

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

它说 "unknown column session_id"

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

我无法更改 where 条件。我只能更改 select 部分。因为实际的查询太复杂了,我不想搞砸这个查询。

我正在使用 mysql 5.7

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

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

我按照@David 和@RaymondNijland 的建议让它工作。所以现在我的查询看起来像

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