假设我有一个简单的数据库,其中包含表“posts”和“tags”。帖子可以有很多标签,标签可以属于很多帖子。
构建数据库的最佳方式是什么?我想到了使用列表/序列化:
tags
idx tag_id, str tag_name
posts
idx post_id, str title, list tag_ids
或者有另一个关联表。问题是使用这个我什至不知道如何构建查询以在收到帖子时提取关联的标签名称。
posts
idx post_id, str title
post_tags
fk post_id, fk tag_id
其实我一个都不喜欢。有没有更好的办法?
最佳答案
post_tags
是在数据库中实现多对多关系的正确方法。
我要对您发布的内容做的唯一补充是其中的两列都应该是主键,以确保没有重复项。
关于mysql - 在 MySQL 中存储多对多关系的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3152850/