重新排列行顺序查询仅在行数为奇

时间:2018-06-19 03:23:50

标签: mysql database mysqli

我有一个表,其中包含数据库中的行,我想逐个向上或向下移动。

当总行数为奇数时,我当前的查询工作正常,但是当存在偶数时,查询都不起作用。

例如,我有一个名为questions的表和一个名为question_order的列来更改位置。对于问题2,我有这个问题:

上移按钮:

UPDATE questions
      SET    `question_order`=(CASE `question_order` WHEN 2 THEN 1 ELSE 2 END)
      WHERE  `question_order`=1 OR `question_order`=2

下移按钮:

UPDATE questions
      SET    `question_order`=(CASE `question_order` WHEN 2 THEN 3 ELSE 2 END)
      WHERE  `question_order`=2 OR `question_order`=3

当我有奇数行时,如表中的5个问题,它可以工作。

如果我有一个偶数,比如6个问题,那么根本不会有任何疑问。

有没有人知道为什么我的查询仅在我有奇数行时才有效?

0 个答案:

没有答案