2011-08-24 341 views
0

我買了我的數據庫設計有問題,我開發了一個論壇,可以在其中添加topcis然後子主題這個論壇裏面等等,但在subforum的它必須顯示該主題的答案,子主題,所以你有一個父主題和孩子,我的問題伴隨着ID,我的意思是例如當你創建一個主題ID = 1,然後你分配parent_id = 1,但你怎麼知道該主題的孩子,例如主題ID = 2,parent_id = 1,你可以分配給孩子id = 2,但有沒有更好的辦法?你將如何解決這個問題?也是在mysql我不ķ分層數據庫模型的問題?

我有兩個表

「主題」

ID 名 id_creator 日期 消息 PARENT_ID

「答案」

ID 名 消息 id_creator 日期

+0

你能投票給我嗎?謝謝 :) – MarianP

回答

2

我不得不這樣做在MySQL最近的MySQL遺憾的是沒有提供任何處理分層數據非常有用。

我用所謂的在那裏我會存放「路徑」,導致當前項目路徑額外的varchar列。例如。一個id = 127的行是id = 120的孩子,它是id = 15的孩子,它的路徑='/ 15/120/127'。

插入數據時,您需要自行處理此問題。

提取是與ID = 15行的直接或非直接的孩子的所有行,然後將如下所示:

SELECT * FROM table WHERE 
    path LIKE '%/15/%' 

我也可以看到,這是一個相當廣泛討論的話題在這裏#2。請看這個問題旁邊的相關欄目。