Mysql child 多个 parents 相同类型

Mysql child with multiple parents of same type

我在 mysql 数据库(用于网站)中有食谱,我需要将其作为 parent child 关系附加到其他食谱。我需要一个食谱才能拥有多个 parent 食谱。最初我以为我可以在食谱 table 中有一个 parent_id 列,但是如果一个食谱有多个 parent 则不起作用。然后我想我只需要查找 table 其中 parent_id 和 child_id 匹配,但是 parent 和 child 都是食谱,所以当我执行 select 语句时,查询如何知道区分哪个是 parent 哪个是 child?这有意义吗??

我会使用两个表:recipes(ID, ...)connections(pID, cID)

每个食谱都有一个 ID 并且在 connections 中你保存了一个 parent-child 连接。

recipes 看起来像这样

(0, Soup)
(1, Cookie)
(2, Cookiesoup)

connections 看起来像这样

(0, 2)
(1, 2)

要查询 Soup 的所有 child 食谱 ID = 0 你可以使用这个

SELECT * FROM recipes JOIN connections ON recipes.ID = connections.cID WHERE connections.pID = 0

要查询 Cookiesoup 的所有 parents 食谱 ID = 2 你可以使用这个

SELECT * FROM recipes JOIN connections ON recipes.ID = connections.pID WHERE connections.cID = 2