gpt4 book ai didi

mysql - 创建 N :M relationship in SQLite

转载 作者:行者123 更新时间:2023-11-29 07:50:31 26 4
gpt4 key购买 nike

我对在 SQLite 中的两个表之间建立 N:M 关系感到困惑。

我的表格是“帖子”和“标签”,它们是我为博客制作的 CMS 的两个组件。

我想将 posts 表的标签列链接到标签表,以便我可以仅使用数据库中的一行将多个标签(在标签表中定义,包含 id、名称和描述)链接到帖子posts 表的标签列。

自从被告知使用 N:M 关系以来,我尝试了各种方法,而在刚接触 SQL 之前我从未使用过这种关系。我了解需要做什么 - 将“标签”列指向标签表 - 但不确定如何执行此操作。

我已经根据这些链接尝试了外键、索引等,但不确定我应该做什么...尽管我承认答案几乎肯定就在这些页面上的我眼皮子底下。

http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx

SQLite many-to-many relationship?

它只是帖子表中的外键(标签)引用标签(id)吗?尽管我不明白这如何在帖子表中启用“标签”的多个条目。

感谢任何建议,我现在正在继续尝试和教育自己,

伊尔敏特

最佳答案

在多对多关系的情况下,您必须创建一个除了帖子和标签之外的额外表(例如 posts_tags),在其中存储帖子和标签之间的关系。该表应包含列 post_id (对 posts.id 的外键引用)和 tag_id (对tags.id 的外键引用)。例如,如果 id=1 的帖子具有 id 1,2,3 的标签,您将有 3 行,例如

 post_id | tag_id
1 | 1
1 | 2
1 | 3

对于相反的关系。如果您有 id 为 3,4,5 且带有 id = 5 标签的文章,那么您的表格将是

 post_id | tag_id
3 | 5
4 | 5
5 | 5

希望对你有帮助

关于mysql - 创建 N :M relationship in SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26548182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com