簡體   English   中英

升級MySQL后查詢無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM