![]() |
1
2
假设
我使用MySQL5.1.52在您的示例数据上测试了这一点,它工作正常。如果您需要将早期条目移动到较迟的位置,或者移动中间的条目等,相同的SQL也可以工作。只需设置
|
![]() |
2
1
我最终使用了 adjacencies table . 当时我不知道。 |
![]() |
3
0
我不确定这是否算是一个解决方案,但实际上您不需要对每行进行一次更新。如果你把“foo”从位置4移到位置1,你只需要
即使你从1000位置移动到500位置,或者从500位置移动到1000位置,更新的次数也是一样的(当然,你需要翻转它),你只需要大量移动所有受影响的行加或减1 |
![]() |
4
0
您可以在一个这样的更新语句中执行此操作:
很明显你会取代
|
![]() |
5
0
如果您使用的是SQL Server,那么UUU可以使用链接列表表示和CTE来实现这一点。但我不知道MySQL是否支持CTE…
这将产生以下前后结果:
|
![]() |
6
0
我想你的桌子上有一把主键,
如果没有ID,请使用itemname。 |
![]() |
7
0
|
![]() |
8
0
如果列只是指定了行的顺序,我看不出使用0和负数有什么问题。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 4 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |