回答

收藏

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

技术问答 技术问答 515 人阅读 | 0 人回复 | 2023-09-14

我正在创建一个数据库表,它将存储最终显示在网页上的菜单链接。
/ Q$ T# O7 I3 O! w$ P" Q, I我的问题是我想控制菜单项的顺序。我可以有一个名字order但每次我有一个新的菜单链接,我都必须插入顺序,并将所有高顺序的记录更改为 1。
+ m; p, c2 l& {7 R- Q# |  Q/ Y例如,假设我想按此顺序):6 ?  p, V2 K0 Y: J- k
家 关于  产品 购物我可以有一个叫 MenuLinks    表,并有以下几: 名称,顺序- Z  `4 [' H2 q- o
我的数据如下:
& ?4 n: L2 q$ @名称顺序 首页1  2  产品3 购物4但是,如果我现在想加一个名字 ContactUs    新链接,但我想直接在主页下显示。
: T. u/ w" X1 R& T! @谁能想出更好的方法来存储需要在数据库表中排序的列表,而不需要繁琐的维护工作。9 V6 }. d/ S  I0 E, y$ J
                                                               
2 w4 `+ I% N, E% Z, X: Q5 x8 y    解决方案:                                                               
5 H9 h% o" w1 U. T, Z                                                                我认为这与使用数组有关vs链表的一般问题是相关的。如何将下一个记录的外键存储在同一表中?这类似于链表。4 x; s6 O& _! q: X0 \' G0 w
对于你的例子,没有太多的选项卡,所以基于数组的方法应该能够正常工作。但对于有数百个记录的人来说,使用自引用外键可能非常有用。
( O$ F3 t+ d; I, P8 U" ^ID Name      NExT   1 Home      2  2  2  2           2                 2 About     3 3 3  3  3  3                     3 3 3 3  3 Products  4  4 Shopping  NULL添加和删除行类似于链接列表的插入和删除。4 s9 ^( Z* J, b8 U( }7 _
更新:修改表& H: z) W; w# d; r8 n+ D5 W$ W  O' m
ID Name       NExT   1 Home       5  2                     5 5 About      3 3 3  3  3  3                         3 3 3 3 3 3 Products  4  4 4 Shopping   NULL 5 Contact us 2顺序将是1> 5> 2> 3> 4,由下列确定。您也可以使用它prev列,使其类似于双向链接列表。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则