你会如何在数据库中存储谁喜欢的东西?

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            |