如何实现一个可以自定义行顺序的MySQL表?
我想在MySQL表中保存一些数据。这些数据有自己的顺序,我可以随意修改。假设我有10排。我想将第10行移动到第5个位置,或者在第2和第3个位置之间插入更多行。然后,使用查看器,我可以按设置的顺序获取数据。我如何实现这样一个表如何实现一个可以自定义行顺序的MySQL表?,mysql,Mysql,我想在MySQL表中保存一些数据。这些数据有自己的顺序,我可以随意修改。假设我有10排。我想将第10行移动到第5个位置,或者在第2和第3个位置之间插入更多行。然后,使用查看器,我可以按设置的顺序获取数据。我如何实现这样一个表 正如我所想,我会将订单保存为新列中的浮点数。每次我更改订单,比如说,在第5行和第6行之间移动第10行,我会得到第5行和第6行的订单号,并得到它们的平均数量,然后更新第10行的订单列。然后我可以按顺序列获取数据。但我认为这不是个好主意。关于这个问题有什么帮助吗?您不点菜,这毫
正如我所想,我会将订单保存为新列中的浮点数。每次我更改订单,比如说,在第5行和第6行之间移动第10行,我会得到第5行和第6行的订单号,并得到它们的平均数量,然后更新第10行的订单列。然后我可以按顺序列获取数据。但我认为这不是个好主意。关于这个问题有什么帮助吗?您不点菜,这毫无意义。实际上,您对条目在该表中的放置顺序不感兴趣。认为它是随机的。 您对希望在中查看条目的顺序感兴趣。为此,您创建了一个附加列,可以随意将其称为“选择顺序”或“优先级”。在这种情况下,您可以存储简单的整数,用于描述希望在中查看条目的顺序 现在,您可以通过更改该顺序列中的数字来“重新排序”条目。在查询时,您向
select
查询添加一个ORDER BY select\u ORDER
子句,并将按照您想要的顺序接收条目
这是关系数据库模型的标准方法。这并不意味着对于非常特殊的情况,没有其他方法值得研究:
- 优先级表,而不是在
查询期间联接的列。对于写操作比读操作多得多的情况,这可能是有意义的。然而,请注意这一点李>SELECT
- 一种多列方法,适用于您可以对条目进行分组并且只能在此类组内重新排序的情况。这大大减少了您需要更新或重新排序的条目数量李>
UPDATE
查询。不要调用它order@Strawberry是的,实际上,这是一个保留关键字;-)它的性能不是很差吗?总是修改这么多条目?