gpt4 book ai didi

sql - 如何保持数据库表中记录的顺序

转载 作者:太空狗 更新时间:2023-10-30 01:44:43 27 4
gpt4 key购买 nike

我正在创建一个数据库表,用于存储最终会显示在网页上的菜单链接。

我的问题是我想控制菜单项的顺序。我可以有一个名为订单的字段,但每次我有一个新的菜单链接时,我都必须插入订单并将所有具有更高订单的记录更改为 +1。

例如,假设我想要链接(按此顺序):

Home  About  Products  Shopping  

我可以有一个名为 MenuLinks 的表并且包含以下列:Name、Order

我的数据看起来像这样:

Name      Order  Home      1  About     2  Products  3  Shopping  4  

但如果我现在想添加一个名为 ContactUs 的新链接,但我想显示在主页下方。

谁能想到一种更好的方法来存储需要在数据库表中排序的列表,而无需这种繁琐的维护工作。

最佳答案

我觉得这与使用数组与链表的一般问题有关。如何在同一张表中存储引用下一条记录的外键?这是类似链表的方法。

对于您的示例,没有太多选项卡,因此基于数组的方法应该可以正常工作。但是对于拥有数百条记录的人来说,使用自引用外键可能会有用。

ID Name      NExT  
1 Home 2
2 About 3
3 Products 4
4 Shopping NULL

添加和删除行将类似于链表的插入和删除。

更新:修改后的表格

ID Name       NExT  
1 Home 5
2 About 3
3 Products 4
4 Shopping NULL
5 Contact us 2

顺序将为 1 > 5 > 2 > 3 > 4,具体由下一列确定。您还可以使用 prev 列,这将使其类似于双向链表。

关于sql - 如何保持数据库表中记录的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com