[英]Query not working after upgrading MySQL
以下查詢適用於舊版本的MySQL(不記得使用哪個版本)。
SELECT @r AS _id,
(
SELECT @r := parent
FROM t_hierarchy
WHERE id = _id
) AS parent,
@l := @l + 1 AS lvl
FROM (
SELECT @r := 1218,
@l := 0,
@cl := 0
) vars,
t_hierarchy h
WHERE @r <> 0
由於我升級到5.7,因此出現錯誤:
“ where子句”中的未知列“ _id”
幫助任何人?
似乎在條件不允許為MySQL 5.7的別名
可以在查詢選擇列表中使用別名來為列指定其他名稱。 您可以在GROUP BY,ORDER BY或HAVING子句中使用別名來引用該列:
標准SQL不允許在WHERE子句中引用列別名。 之所以施加此限制,是因為在評估WHERE子句時,可能尚未確定列值。
參見相關文檔http://dev.mysql.com/doc/refman/5.7/en/problems-with-alias.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.