一个表引用了许多其他id

时间:2011-01-27 03:34:55

标签: mysql database

我知道这必须是一个超级初学者的问题,但是如何创建一个包含可以引用其他表的多个id的列的表?即:一个用户可能有许多社区,社区属于几个不同的用户。这可能吗?这个问题有意义吗?

[edit]这是 - > Many-to-many relationship INSERT唯一的方法?

1 个答案:

答案 0 :(得分: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 join articles on articles.article_id = ArticlesInPages.article_id where page_id = 1”

它会返回

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

这将返回两篇文章,希望这有帮助!