2016-08-26 91 views
0

我有食譜在MySQL數據庫(對於網站),我將需要附加到其他食譜作爲親子關係。我需要一個配方纔能擁有多個家長食譜。最初我以爲我可以在食譜表中有一個parent_id列,但是如果一個食譜有多個父母不起作用。然後,我想我只需要查找一個parent_id和child_id匹配的表,但父母和孩子都是食譜,那麼如何知道查詢來區分哪些是父級,哪些是孩子時我選擇聲明?這是否有道理?與同一類型的多個父母的Mysql孩子

+0

沒有什麼讓我害怕從一個架構點。你能描述一下你計劃運行的那種查詢嗎? –

+0

所以食譜有多個父母和多個孩子? – Strawberry

+0

我並不完全確定整個範圍,因爲我必須首先弄清楚這一部分,然後一次構建一塊;但下一步將列出所有的食譜我想用一種縮進的方式 - 數組('雞肉沙拉') –

回答

0

我會用一個拖表:recipes(ID, ...)connections(pID, cID)

每個配方有ID和內部connections保存父子連接。

recipes將這個樣子

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

connections看起來像這樣

(0, 2) 
(1, 2) 

要查詢的Soup所有子食譜ID = 0,你可以使用這個

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

要查詢所有父母rec的CookiesoupID = 2 IPES你可以使用你所提到的這個

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

啊,是的!現在有道理,非常感謝你8) –