维护/更新mysql中的记录顺序

2024-05-17

我在 mySql 中有一个记录表。我需要按照用户指定的方式维护它们的订单。所以我添加了一个“位置”列。

当我移动特定记录时更新所有记录的 SQL 语句是什么?我有类似的东西:

UPDATE items SET position = '2' WHERE id ='4';
UPDATE items SET position = position+1 WHERE position >= '2' AND id != '4';

但如果记录下降,则大于将小于。有什么窍门呢?谢谢!


像这样的事情会做吗?

UPDATE items 
SET position = CASE position 
  WHEN $oldpos THEN $newpos 
  ELSE position + SIGN($oldpos-$newpos)
 END
WHERE position BETWEEN LEAST( $newpos, $oldpos ) 
                AND GREATEST( $newpos, $oldpos );

我测试了几次,似乎有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

维护/更新mysql中的记录顺序 的相关文章

随机推荐

  • java.lang.IllegalStateException:未定义负载平衡的 Feign 客户端。您是否忘记包含 spring-cloud-starter-netflix-ribbon ?

    我遇到异常 FactoryBean threw exception on object creation nested exception is java lang IllegalStateException No Feign Client
  • Clojure 集合与序列的相等性

    我注意到 Clojure 1 4 似乎很乐意考虑向量等于seq相同的向量 但同样不适用于地图 1 2 seq 1 2 gt true 1 2 seq 1 2 gt false 为什么要这样的行为 这样会有所不同吗 Clojure 的 可以认
  • TEST 镜像默认数据库但没有数据

    我正在尝试对我的 Django 应用程序进行一些测试 我使用了数据库镜像作为测试数据库 当我尝试运行一些测试时 默认数据库 中的数据似乎在镜像测试数据库中不可用 default sqlite ENGINE django db backend
  • Pandas DataFrame 具有 X、Y 坐标到 NumPy 矩阵

    我有一个包含列的 DataFrameX Y and value e g X Y value 1 1 56 2 1 13 3 1 25 1 2 7 2 2 18 1 123 91 50 123 32 我需要将其转换为 DataFrame 到
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 使用 jquery 单击或更改广播上的事件

    我的页面中有一些收音机 我想在检查的收音机发生变化时执行一些操作 但是代码在 IE 中不起作用 input radio change 在谷歌搜索后 人们建议使用click反而 但这不起作用 这是示例代码
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 在 Emacs 中,如何确定哪个包正在加载 Tramp?

    我与 ranp 和 cygwin mount 有一个奇怪的交互 我认为 Emacs 文件名的制表符补全会附加一个额外的 i cygwin https stackoverflow com questions 1705802 emacs tab
  • JDesktopPane 放置

    我有一个 JDesktopPane 并希望以网格样式显示 JInternalFrames 而不覆盖框架 框架的尺寸会有所不同 因此应动态分配它们的位置 我可以存储最后放置的框架的坐标 但框架可以移动 最小化或关闭 它们是一种以整齐的方式放置
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • 当变量有连字符时的 Patsy 公式

    我正在尝试将 statsmodel 线性回归函数与公式一起使用 我的示例数据来自 Pandas 数据框 我对公式中的列名称有一个小问题 由于下游流程 我的列名称中包含连字符 例如 VOLT B NN B IDW 现在 保留连字符的原因之一是
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • Laravel Vue js spa 应用程序

    1 我想知道为什么人们使用两台服务器用 laravel 制作 vuejs SPA 我想我们可以用另一种方式 制定这样的路线 Route get any function return view index gt where any 并让 v
  • 在 Android 中选择视频的最佳方式是什么

    我得到了一个完美的意图 ACTION PICK和我的照片 启动活动结果 新 意图 Intent ACTION PICK android provider MediaStore Images Media INTERNAL CONTENT UR
  • 单元测试类是否应该与其余代码一起置于版本控制之下?

    如果我为开发项目创建测试套件 这些类是否应该与项目代码的其余部分一起受版本控制 是的 没有理由不将它们置于源代码管理中 如果测试发生变化怎么办 如果接口发生变化 需要测试更改怎么办
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • Flash Builder 条件编译变量

    我正在使用 Flash Builder 4 5 并且我想在调试和发布版本之间使用条件编译 我了解如何使用条件编译以及如何定义编译器常量 我需要的是 IDE 在调试和发布版本之间设置的预定义常量 一种在调试和发布版本之间为编译器指定不同参数的
  • 受约束泛型类型参数的继承

    我知道不可能从泛型类型参数继承 但是在为抽象类型的派生类实现通用代理时会很方便 有谁知道为什么这是不可能的 C 示例 abstract class Foo public virtual void Bar nop class FooProxy
  • vscode 中 TAB 和 ENTER 的问题

    我已经使用 Visual Studio 代码几个月了 我喜欢它 但是 有一件事让我抓狂 我厌倦了处理 VSCode 有一个可怕的习惯 当我在输入结束时按 TAB 或 ENTER 时 它会更改我的文本 例如 假设我正在写一些东西 并且想要在几
  • 维护/更新mysql中的记录顺序

    我在 mySql 中有一个记录表 我需要按照用户指定的方式维护它们的订单 所以我添加了一个 位置 列 当我移动特定记录时更新所有记录的 SQL 语句是什么 我有类似的东西 UPDATE items SET position 2 WHERE