Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我应该如何存储网站的链接列表类型数据?_Mysql_Database Design_Linked List - Fatal编程技术网

Mysql 我应该如何存储网站的链接列表类型数据?

Mysql 我应该如何存储网站的链接列表类型数据?,mysql,database-design,linked-list,Mysql,Database Design,Linked List,我正在考虑列出前7项。 因此,链表突然出现在我的脑海中,因为新的高排名项目将被添加,或从低排名项目升级,以一步推低低排名项目。我需要的方式。 我只需要根据排名访问对象的前7位(一个选定的数字)。 我应该如何将其存储在数据库中?还是应该将其存储在文件存储中?我可以为已经排名的条目添加一些条目或编写剪切/粘贴类型代码,但不幸的是,我的db(MYSQL)不是这样工作的。那么,有什么建议吗?考虑一下添加“新数字3”的UI。这意味着将所有3或更大的值都乘以1 所以。。。您有一个列是排名。SQL是 UPDA

我正在考虑列出前7项。 因此,链表突然出现在我的脑海中,因为新的高排名项目将被添加,或从低排名项目升级,以一步推低低排名项目。我需要的方式。 我只需要根据排名访问对象的前7位(一个选定的数字)。
我应该如何将其存储在数据库中?还是应该将其存储在文件存储中?我可以为已经排名的条目添加一些条目或编写剪切/粘贴类型代码,但不幸的是,我的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;