数据库应该如何存储谁喜欢某个帖子?
我是否应该有一个单独的表来跟踪所有喜欢,并将每个帖子的每个喜欢保存在一起,存储article_id,user_id和喜欢/不喜欢?
您正在描述用户和帖子之间的 N-M 关系,其中每个用户可能喜欢多个帖子,并且每个帖子可以被多个用户喜欢。
我建议使用桥接表,外键引用帖子和用户表。
简而言之,这看起来像:
table: users
user_id
name
...
table: posts
post_id
title
...
table: users_like_posts
user_id -- foreign key to users(user_id)
post_id -- foreign key to posts(post_id)
like_dislike
一个选择是创建一个卡车喜欢和不喜欢的表格: 示例:
喜欢和不喜欢可以是布尔值或您想要实现的任何其他值。
Table:Like
-----------------
id | post_id | user_id | like_dislike |
1 | 1234 | 13783 | 0 |
2 | 1234 | 12083 | 1 |
帖子 id 和用户 id 大多是随机的吗?