2011-01-27 33 views
1

我知道這一定是一個超級新手的問題,但如何建立具有可參考其他表的多個ID的一列的表?即:一個用戶可能有很多社區,一個社區屬於幾個不同的用戶。這可能嗎?這個問題有意義嗎?新手MySQL的問題 - 一個表,引用許多其他的ID

[編輯]這是 - >Many-to-many relationship INSERT的唯一途徑?

+0

可以存儲來自多個其他表的ID,但數據庫級別的外鍵永遠只能是指單個其他表。 – 2011-01-27 03:39:37

+0

你能詳細說說嗎?我將如何存儲來自多個其他表的ID? – danwoods 2011-01-27 03:42:35

回答

4

通常你不會有一個引用多個ID列。您通常會設置第三個表來保存該信息。讓我舉一個例子:

假設你有一個表上的一個網站

"Pages Table" 
Page_ID | Page_Name 
1   Home 

說你要包括對存儲在另一個表中這些網頁的一些文章「的頁面」

"Articles Table" 
Article_ID | Article_Text 
1   SQL is Fun! 
2   Java is no fun! 

而且要能夠包括網頁上的某幾個不同的文章,你會成爲第三個表,讓我們把它稱爲「ArticlesInPages」與後續的列:

"ArticlesInPages Table" 
Page_ID | Article_ID 
1   1 
1   2 

現在,您可以編寫SQL 「SELECT * FROM ArticlesInPages加入上articles.article_id = ArticlesInPages.article_id其中PAGE_ID = 1篇」

而且它會返回

Page_ID | Article_ID | Article_Text 
1   1   SQL Is Fun!   
1   2   Javs is No Fun! 

這將返回兩個物品,希望這可以幫助!