我有一个带有整数字段的表,用于控制记录的自定义显示顺序。
例子:
SET @rownumber = 0;
SELECT
@rownumber:=@rownumber+1 AS rownumber,
slides.displayorder
WHERE
active = 1
ORDER BY displayorder ASC
这个查询给了我一个有点像这样的结果:
rownumber | displayorder
-----------+-------------
1 2
2 7
3 15
4 50
5 80
这可以正常工作,直到记录被删除/未批准(因此显示顺序存在差距)。
我想做的是运行更新查询,在displayorder
删除记录后将列设置为 rownumber 变量的值。
给出这样的结果:
rownumber | displayorder
-----------+-------------
1 1
2 2
3 3
4 4
5 5
是否有捷径可寻?