你会如何在数据库中存储谁喜欢的东西?
How would you store in database who's liked something?
数据库应该如何存储谁喜欢某个 post,我是否应该有一个单独的 table 来跟踪所有喜欢,并将每个 post 的每个喜欢放在一起,存储article_id、user_id 和 like/dislike?
谢谢!
您描述的是用户与 post 之间的 N-M 关系,其中每个用户可能会点几个 post,每个 post 可以被多个用户点赞。
我建议使用网桥 table,外键引用 post 和用户 table。
简而言之,它看起来像:
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:
示例:
喜欢和不喜欢可以是布尔值或您想要实现的任何其他值。
Table:Like
-----------------
id | post_id | user_id | like_dislike |
1 | 1234 | 13783 | 0 |
2 | 1234 | 12083 | 1 |
数据库应该如何存储谁喜欢某个 post,我是否应该有一个单独的 table 来跟踪所有喜欢,并将每个 post 的每个喜欢放在一起,存储article_id、user_id 和 like/dislike? 谢谢!
您描述的是用户与 post 之间的 N-M 关系,其中每个用户可能会点几个 post,每个 post 可以被多个用户点赞。
我建议使用网桥 table,外键引用 post 和用户 table。
简而言之,它看起来像:
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: 示例:
喜欢和不喜欢可以是布尔值或您想要实现的任何其他值。
Table:Like
-----------------
id | post_id | user_id | like_dislike |
1 | 1234 | 13783 | 0 |
2 | 1234 | 12083 | 1 |