一个帖子被多个用户收藏 mysql结构怎么设计
一个帖子有个固定id 然后又被多个用户收藏该帖子 我该怎么设计数据库结构,记录下有哪些用户 忘高人指点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
一个帖子有个固定id 然后又被多个用户收藏该帖子 我该怎么设计数据库结构,记录下有哪些用户 忘高人指点
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
我是菜鸟,愿意抛砖引玉。
一个帖子可被多个用户收藏,一个用户可收藏多个帖子。这是个”多对多”关系。所以设计三张表。
1.帖子表
字段:
帖子id,帖子内容,帖子发布时间,帖子作者,等等。
ID为主键
2.用户表
字段:
用户ID,用户基本信息。
ID为主键
3.收藏表
字段:
帖子ID,用户ID。
可以加个收藏ID作自增主键,也可以把帖子ID和用户ID作联合主键。哪种更好不知,求高手指点。
另外这两个ID字段是否设置成外键?可以定义表结构时设置,也可以不设置,在程序里使用逻辑外键。哪种更好?不知,求高手指点。
然后哪个人收藏哪篇帖子,在收藏表添加一条记录即可。
最简单的一共四栏,
第一栏主键:id
第二栏帖子id:post_id
第三栏用户id:user_id
第四栏记录时间:created_at
这是典型的多对多吧,一个用户可以收藏多个帖子,一个帖子可以被多人收藏。
所以一共三张表咯,用户表,帖子表,还有就是映射,记录所有用户和帖子的对应关系表
新建一个帖子对应收藏表了
id,
post_id
user_id
created_time