此查询中出现未知列异常
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
答案 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;