【发布时间】:2019-04-27 17:11:17
【问题描述】:
在 MySQL v8.0.13 中执行以下查询会导致此错误:
0 行受影响,1 个警告:1287 在表达式中设置用户变量已弃用,将在未来版本中删除。请改为在单独的语句中设置变量。
SET @i = -1;
UPDATE `tb_test`
SET `order` = (@i := @i + 1)
ORDER BY `order` ASC;
关于如何在单独的语句中设置变量有什么建议吗?
【问题讨论】:
-
我在这里也一头雾水,同样的用例,需要在更新中增加一个变量。如果您找到解决方案,请告诉我。
-
我还没有找到针对这个问题的特定于 MySQL 的解决方案。我最终在我的应用程序代码而不是数据库中进行计算。我更喜欢 MySQL 解决方案,但我的结果不会太长,因此它是应用程序中的最小负载。
-
我会继续挖掘,如果有什么发现会告诉你的。