【发布时间】:2014-07-01 06:57:07
【问题描述】:
我的Mysql是mysql Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1,我有很多UPDATE,比如
update player set playorder = 1 where id = 4;
update player set playorder = 2 where id = 5;
update player set playorder = 3 where id = 1;
....
我把它们放在一个更新中
update player set playorder = (CASE
when id = 4 then 1
when id = 5 then 2
when id = 1 then 3 END);
我发现 id=5 播放顺序是 1,我不知道是什么问题。感谢您的帮助。
我的问题的第一句话是关于我的盒子上的 MySQL 的版本。因此,如果SQL fiddle 上的所有实验都在版本 5.1.xx 上会更好。当我在我的盒子上将 MySQL 更新到 5.5.xx 时,奇怪的结果消失了。所以我认为这是导致UPDATE CASE语句失败的错误。我无法在站点SQL fiddle上的5.1.xx版本上构建模式。我希望有人能做到。
【问题讨论】:
-
查询没有任何问题 检查sqlfiddle.com/#!2/73b54/1
标签: mysql