2011-01-27 8 views
1

これは超初心者の質問でなければならないが、他のテーブルの複数のIDを参照できるカラムを持つテーブルを作成するにはどうすればよいですか?つまり、1人のユーザーが多数のコミュニティを持ち、1つのコミュニティが複数の異なるユーザーに属しています。これは可能ですか?質問は理にかなっていますか?初心者のmySqlの質問 - 他の多くのIDを参照するテーブル

[編集]これは - >Many-to-many relationship INSERTの唯一の方法ですか?

+0

複数の他のテーブルからIDを格納できますが、データベースレベルの外部キーは1つの他のテーブルのみを参照することができます。 –

+0

これについて詳しく説明できますか?複数の他のテーブルからIDをどのように格納しますか? – danwoods

答えて

4

通常、複数のIDを参照する列はありません。通常は、その情報を保持するために3番目のテーブルを設定します。私は例をあげてみましょう:

は、あなたがウェブサイト上で「ページ」用のテーブルを持っている

"Pages Table" 
Page_ID | Page_Name 
1   Home 

はあなたが別のテーブル

に格納されているそれらのページにいくつかの記事を含めるしたいと言います

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

そして、あなたがあなたのページにいくつかの異なる物品を含めることができるようにしたい、あなたはのは以下の列を持つ「ArticlesInPages」と呼んでみましょう、3番目の表を作ると思います

あなたは今

そして、それはこれが記事の両方を返します

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

返す "articles.article_id = ArticlesInPages.article_id page_idの= 1上の記事に参加ArticlesInPagesからSELECT *" SQLを書くことができ、お役に立てれば!

+0

です!それは説明のためです。 – danwoods