主要是文章表 article 和标签表 tag 之间的关系应该是多对多的关系,如果我想添加或者更新文章,那 tag 怎么办?这两个表应该如何设计? SQL 语句如何写?
1
binjoo 2021-03-13 20:33:27 +08:00
加一张关联表。
|
2
lizheming 2021-03-13 20:34:55 +08:00
|
3
captain2011 2021-03-13 20:39:12 +08:00
简单方法:articles 表加一个字段 tag_ids 存 1,2,3 这样的字符串,然后到时候特殊处理就行
复杂点:多一个 article_tags 中间表,多 join 查询一下就行 |
4
BeautifulSoap 2021-03-13 20:40:07 +08:00
单独一个 article_tag_relationship 表啊,就两个 column
article_id | tag_id 这样一个表你写 sql 语句还难吗 ORM 处理多对多关系也都是这样的 |
5
qiayue 2021-03-13 21:00:17 +08:00 2
用中间表记录关系,每次更新文章,如果标签有变动,有两种办法:
1 、逻辑简单:先把该文章 ID 对应的所有标签 ID 关系都删除,重新插入新的对应关系; 2 、逻辑复杂:比较新老对应关系,删除不再使用的关系,插入新的关系,不改的关系继续保留; 建议用方法 1 |
6
Zrehtt OP 嗯,说的很明白了,非常感谢
|
7
dongtingyue 2021-03-14 21:08:21 +08:00
我是这样弄的,文章表,分类表,关联表,分类表只做增加不做删除。文章保存的时候分类转 id 然后把原来的关联全删,添加新的关联。
|
8
meshell 2021-03-15 09:16:16 +08:00
我直接用得 wordpress 的表
|