我有一个表,其中包含数据库中的行,我想逐个向上或向下移动。
当总行数为奇数时,我当前的查询工作正常,但是当存在偶数时,查询都不起作用。
例如,我有一个名为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个问题,那么根本不会有任何疑问。
有没有人知道为什么我的查询仅在我有奇数行时才有效?