Mysql 我应该如何存储网站的链接列表类型数据?
我正在考虑列出前7项。 因此,链表突然出现在我的脑海中,因为新的高排名项目将被添加,或从低排名项目升级,以一步推低低排名项目。我需要的方式。 我只需要根据排名访问对象的前7位(一个选定的数字)。Mysql 我应该如何存储网站的链接列表类型数据?,mysql,database-design,linked-list,Mysql,Database Design,Linked List,我正在考虑列出前7项。 因此,链表突然出现在我的脑海中,因为新的高排名项目将被添加,或从低排名项目升级,以一步推低低排名项目。我需要的方式。 我只需要根据排名访问对象的前7位(一个选定的数字)。 我应该如何将其存储在数据库中?还是应该将其存储在文件存储中?我可以为已经排名的条目添加一些条目或编写剪切/粘贴类型代码,但不幸的是,我的db(MYSQL)不是这样工作的。那么,有什么建议吗?考虑一下添加“新数字3”的UI。这意味着将所有3或更大的值都乘以1 所以。。。您有一个列是排名。SQL是 UPDA
我应该如何将其存储在数据库中?还是应该将其存储在文件存储中?我可以为已经排名的条目添加一些条目或编写剪切/粘贴类型代码,但不幸的是,我的db(MYSQL)不是这样工作的。那么,有什么建议吗?考虑一下添加“新数字3”的UI。这意味着将所有3或更大的值都乘以1 所以。。。您有一个列是排名。SQL是
UPDATE MyList SET rank = rank + 1 WHERE rank >= 3;
INSERT INTO MyList (rank, ...)
VALUES (3, ...);
获得前7名:
SELECT * FROM MyList WHERE rank <= 7 ORDER BY rank;
为什么不将数据存储在数据库中,并为分数或排名或任何评分标准设置一列呢。如果你想要前7名,你可以简单地创建一个视图。无需再次存储数据。不知道为什么这里需要一个链表,它只是一个结果集,按一定顺序有7行。
UPDATE MyList SET rank = -1 WHERE rank = 12;
UPDATE MyList SET rank = rank + 1 WHERE rank BETWEEN 5 AND 12;
UPDATE MyList SET rank = 5 WHERE rank = -1;