以特定方式在 MySQL 中存储值
Posted
技术标签:
【中文标题】以特定方式在 MySQL 中存储值【英文标题】:Store values in MySQL in a particular way 【发布时间】:2013-09-30 05:13:55 【问题描述】:对不起标题,但我只是不知道这个分词是否有我可以使用的名称,请告诉我或用更好的名称编辑标题。
现在,问题是:我有两个 mysql 表,一个包含一个项目列表,每个项目都有一个唯一的 ID 和存储的标题。另一个表是用户列表。这两个表每天都获得更多的价值(更多的用户注册并添加了更多的项目)。我想保存每个用户已经看过的项目,我只需要知道他是否看过某个特定项目。那么,我应该如何存储这样的东西,最好的方法是什么?我只想在我的用户表上有一个列,其中包含一个包含逗号分隔的项目 ID 的字符串。但理想情况下,我需要一种可以让我做以下事情的方法:
获取检查项目的所有用户的列表。 获取某个用户检查的所有项目的列表。 获取用户未检查的所有项目的列表。 获取没有任何用户检查过的项目列表。 获取所有用户检查过的项目列表。【问题讨论】:
【参考方案1】:有一个中间表,两个表的外键。
例如user_items -> useritems_id (PK), user_id (FK), item_id (FK)
【讨论】:
【参考方案2】:逗号分隔的字段是要搜索的 PITA。最好制作第三张表:(userid, itemid)
【讨论】:
以上是关于以特定方式在 MySQL 中存储值的主要内容,如果未能解决你的问题,请参考以下文章