1

我很好奇你认为什么是让这个 MySQL 数据库工作的最佳方式。

我有这张桌子:

family.id
family.name
family.related

并认为在这样的 1 个查询中将相关的家庭成员连接在一起不会有问题:

id        | name        | related
1         | Name1       | 
2         | Name2       | 3,5
3         | Name3       | 
4         | Name4       | 
5         | Name5       | 4,1
6         | Name6       | 
7         | Name7       | 
8         | Name8       | 6
9         | Name9       | 7

所以 Name2 与 Name3 和 Name5 相关,其中 Name5 有其他相关的 id,所以我应该进行查询以获取以下 id:

选择 id 2,输出相关 id 的:3,5, 4,1

选择 id 6,输出相关的 id's: 8

选择id 9,输出相关的id:7

但我无法找到一个查询来在一列中获取所有相关的 id。

甚至可能吗?

4

1 回答 1

0

对于多对多关系,您通常需要使用链接表:

family_id
related_to

其中,当您的族表中有多个以逗号分隔的项目时,您将在链接表中为逗号分隔列表中的每个项目创建一个条目:

family_id | related_to
2           3
2           5
5           4
5           1
...

等等。

于 2013-04-09T20:01:51.590 回答