mysql - 重新排列行顺序查询仅在行数为奇数时有效
问题描述
我有一个表,其中包含数据库中的行,我想一个一个地向上或向下移动。
当总行数为奇数时,我当前的查询运行良好,但当行数为偶数时,所有查询都不起作用。
例如,我有一个名为 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 个问题,则根本没有查询。
有谁知道为什么我的查询只在我有奇数行时才有效?
解决方案
推荐阅读
- prometheus-operator - Prometheus 操作员中的服务监视器问题
- reactjs - 如何在reactjs中“通过单击提交按钮将文本区域动态移动到页面顶部”
- mysql - 创建时间戳为同一天的新表
- android - Android Studio Gradle 问题 >> build.gradle': 1: unexpected token: <@line 1, column 1
- asp.net-core - 使用具有散列密码和盐的数据创建种子
- python - 如何处理意外按键
- python - 获取存储在 Python 中的二维列表中的特定字典值的数量
- saml - ITfoxtec SAML 2.0 会话超时
- angular - 如何在 Angular 2 中测试 ViewChildren 的变化
- laravel - 如何从数据库中为laravel中的不同页面动态元标记和元描述?