gpt4 book ai didi

mysql - 用户定义的排序 - 额外的列或表?

转载 作者:行者123 更新时间:2023-12-01 00:52:55 26 4
gpt4 key购买 nike

假设我有一系列编码在数据库中的文章,这些文章显示在网站的前端。

如果添加了对自定义排序的支持,这在数据库中如何/应该如何表示?

P.S: 一篇文章可能出现在多个列表中的情况。

最佳答案

在数据库中存储用户定义的顺序的唯一方法是将数据行存储在表中。为此,您需要列

  • 识别用户,
  • 识别文章,并
  • 确定顺序。

前两个很简单。有几种不同的方式来存储订单。设计目标通常是减少重写订单的需要。

create table user_defined_order (
user_id integer not null references users (user_id),
article_id integer not null references articles (article_id),
sort_order <sort_data_type> not null,
primary key (user_id, article_id),
unique (user_id, sort_order)
);

最后一个约束条件 unique (user_id, sort_order) 取决于应用程序。

sort_data_type 选项

不同的数据类型为您提供了不同的插入和更改顺序选项。最常用的是

  • 无间隙整数(插入需要重写一堆行)
  • 带间隙的整数(插入间隙,当间隙关闭时重写一堆行)
  • float(插入现有 float 之间的中间,拆分失败时重写)

关于mysql - 用户定义的排序 - 额外的列或表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676986/

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