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
我在 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