在Hibernate或MySQL中逐行移动

在Hibernate或MySQL中逐行移动,mysql,hibernate,Mysql,Hibernate,假设我有一张有几行的桌子: id | order_id 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 ... | ... ... | ... 99 | 99 100 | 100 移动表中的行的最佳方式是什么?例如,我想在99和100之间移动2,因此99和其他人将移动-1行,2将是99。此示例适用于100行,但也可以有数千行,也

假设我有一张有几行的桌子:

id   |   order_id
1    |       1
2    |       2
3    |       3
4    |       4
5    |       5
...  |       ...
...  |       ...
99   |       99
100  |       100

移动表中的行的最佳方式是什么?例如,我想在99和100之间移动2,因此99和其他人将移动-1行,2将是99。此示例适用于100行,但也可以有数千行,也许有更有效的方法。

您可以尝试类似于链表插入的方法,无需移动所有行。仅更新(交换)order_id&在获取时在order by子句中使用该列,不知道它是否满足您的要求。