我想创建一个包含文章的数据库,但每篇文章都可以参考相关文章。所以我从一篇文章到另一篇文章都有一个N:M的关系。现在我不知道如何实现它。这就是我想要的:
Related_articles:
Article_number_1(整数),Article_number_2(整数)
主键:{article_number_1,article_number_2}
外键:article_number_1(参考:文章),article_number_2(参考:文章)
但是如何指定article_number_1和article_number_2都引用表格文章中的article_number?这就是我的想法:
create table related_articles (
article_number_1 integer,
article_number_2 integer,
primary key(article_number_1, article_number_2),
foreign key(article_number_1) references article,
foreign key(article_number_1) references article,
)
现在我知道这两行外键是不正确的,但我不知道如何告诉我的数据库这两个属性指向表文章的相同属性。有人可以提供帮助吗?
答案 0 :(得分:1)
在references
之后,您需要一个完整的引用,即table_name(column_name)
。在您的示例中,它将类似于:
create table related_articles (
article_number_1 integer,
article_number_2 integer,
primary key(article_number_1, article_number_2),
foreign key(article_number_1) references article(article_number),
foreign key(article_number_2) references article(article_number),
)
如果article_number
是表article
中的标识符。