升级MySQL后查询不工作
下面的查询在旧版本的MySQL上运行,但不记得是哪个版本升级MySQL后查询不工作,mysql,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,
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子句”中的未知列“\u id”
帮助任何人吗?似乎是mysql 5.7不允许的别名 可以在查询选择列表中使用别名为列指定名称 不同的名字。您可以在GROUP BY、ORDER BY或HAVING中使用别名 参考本栏的条款: 标准SQL不允许在WHERE子句中引用列别名。 施加此限制是因为当WHERE子句 评估后,可能尚未确定列值
请参阅相关文档查看mysql 5.7中不允许使用where条件的别名 可以在查询选择列表中使用别名为列指定名称 不同的名字。您可以在GROUP BY、ORDER BY或HAVING中使用别名 参考本栏的条款: 标准SQL不允许在WHERE子句中引用列别名。 施加此限制是因为当WHERE子句 评估后,可能尚未确定列值
请参阅相关文档可能重新开始,使用样本数据集和所需结果请粘贴表结构t_层次结构可能重新开始,使用样本数据集和所需结果请粘贴表结构t_层次结构