【发布时间】:2021-08-05 18:46:54
【问题描述】:
我正在尝试将 mysql 版本从 5.6 升级到 8.0
一些旧版 SQL 语句包含用户定义的变量。
我的问题是以下查询的结果在两个版本之间是不同的。 (是问题的总结)
SELECT @t
FROM ( SELECT @t:=0 ) T
WHERE @t IS NOT NULL
在版本 5.6 的情况下,
结果表上显示 0。
但是,在 8.0 版上 结果表中没有行。
看起来 @t 在 WHERE 子句中仍然为 NULL(@t 未定义)。
我想知道为什么 @t 没有在 FROM 子句的子查询中定义和分配。
有谁知道原因?
【问题讨论】: