将订单分配给mysql表行的最佳方法是什么?如果我有1到5行,我想删除4,那我怎么能把5新4?如果我将make 3设为新的1,我需要为每个其他行添加1。可能有1行或2行或100行。
是否有比手动编程每个意外情况更简单的方法?
提前致谢。
附加: 我有一个界面,我在其中添加包供客户查看。它们会按ID自动按升序排序。我可以按价格,包装名称或其他方式对它们进行重新排序,但我想不时地根据自己的喜好任意订购它们。
再次感谢。
答案 0 :(得分:3)
假设您的数据库中有一个唯一的order_column
列:
在x位置添加新行:
交换位置x和y:
UPDATE table SET x=(@temp:=x), x = y, y = @temp;
删除x位置的行:
显示数据:
ORDER BY
列只需order_column
。
答案 1 :(得分:1)
订购的基本方法通常相当于按字母顺序或数字顺序排列特定列。或者,如果无法根据您拥有的数据创建所需的订单,则需要添加列以进行排序,然后创建一个接口以使用数据填充该列。听起来你需要稍后再做。
答案 2 :(得分:0)
除非我完全误解了这个问题:
保持表格不变,只需使用ORDER BY
确定SELECT
行时的排序。