gpt4 book ai didi

mysql - 在 MySQL 中将 likes 表与 posts、comments 和 replies 表相关联的有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 21:50:40 24 4
gpt4 key购买 nike

我正在构建一个简单的社交网站(我的个人项目,以帮助我更多地了解后端编程),目前我还在思考如何解决上述问题。

现在我有一个表用于用户、帖子、评论、回复、post_likes、comment_likes 和 reply_likes。

目前我的系统工作如下:

  1. 用户创建了一个帖子,然后将连同该用户的 ID 一起插入到帖子表中
  2. 每当用户对所述帖子发表评论时,都会在评论表中插入一行以及用户 ID 和帖子 ID
  3. 每当用户回复评论时,它会连同该用户的 ID 以及作出回复的评论的 ID 一起插入到回复表中

输入我喜欢的表格,其结构如下...

post_likes
post_id
user_id
like_state

comment_likes
comment_id
user_id
like_state

reply_likes
reply_id
user_id
like_state

您可能已经知道我要用这个做什么,但是每次用户喜欢某个帖子、评论或回复时,它会连同该用户的 ID 和 like_state 一起插入到各自的 like 表中,以防止他们再次喜欢.

一切正常,但我清楚地重复自己,我知道这在编程世界中是禁忌。这引出了我的问题,我究竟可以做些什么来解决这个问题?虽然我想出了一个主意,但我还是不太清楚如何才能很好地组织我的问题,以便能够从 Google 获得任何好的结果(我的母语不是英语)

PS 我想出的解决方案是简单地创建一个 likes 表,每一行可以只有一个 post_id(如果用户喜欢一个帖子),一个 comment_id(如果用户喜欢一个评论)或一个 reply_id(如果用户喜欢回复),这可能吗?

最佳答案

我认为您当前的表格很好。我认为您的帖子、评论和回复与点赞之间存在一对多关系。类似的应该放在单独的表格中。而你正是这样做的。如果你想将喜欢的东西合并到一个表中,那么你将需要一个额外的列来跟踪什么属于什么。而且您也无法在该表上设置外键约束。所以,IMO,你在这一点上做得很好。

关于mysql - 在 MySQL 中将 likes 表与 posts、comments 和 replies 表相关联的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com