繁体   English   中英

MySQL多个表或单个字段的多个值?

[英]MySQL Multiple tables or multiple values for single field?

这是我已经遇到了一段时间的问题,并且不确定什么是解决它的最佳方法。 使用示例可能更容易解释。

所以我有很多收藏品和很多物品。 有些项目可以属于一个或多个集合,或者根本不属于一个集合。 集合必须至少包含一项,但是它可以拥有的项目数没有限制。

如何将这些信息存储在MySQL数据库中/最有效的方法是什么?

我已经有一个项目表,每个项目都有一个唯一的ID,这就是简单的部分,创建收藏集部分正是我要坚持的地方。

是否为每个集合创建一个新表,为其指定唯一的表名,并为该集合中的每个项目插入新记录?

我是否仅创建一个大集合表,每个记录都是一个新集合,并且所有项目ID都位于一个字段中?

还有另一种方法吗?

如果对数据库结构有任何影响,将使用php网站进行查询。

我想你应该..

创建一个包含所有集合的collection table ,一个包含所有项目的item table以及一个collection-item map table ,该collection-item map table将具有id (主键), collection_id (集合表的外键), item_id (项目表的外键)。 该表将表示集合和项目之间的关系。 它可以具有任意数量的收集项目关系。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM