【问题标题】:Friendship table友谊桌
【发布时间】:2023-03-14 02:25:02
【问题描述】:

我有一个名为 users 的表,其中包含我网页上的用户。用户可以建立友谊,其中用户 1 请求用户 2 建立友谊。 它现在的工作方式是,当用户 1 发送请求时,我在友谊表中创建一行,其中包含两个外键:user_id_from 和 user_id_to 以及一个名为 status 的字段,该字段可以为 0(请求待处理), 1 或 2 user_id_to 分别接受或拒绝了友谊请求。最后状态可以是 3,表示其中一个用户已经删除了友谊。

这是正确的方法,还是我应该创建一个包含所有待处理请求的临时表,然后(如果请求被接受)将其插入到友谊表中?

【问题讨论】:

  • 这对我个人来说更有意义,但我不会说有正确或错误的方法。
  • No id 肯定会在真实表上执行此操作并更新状态/删除/添加记录。

标签: mysql database


【解决方案1】:

从逻辑的角度来看,您所做的是正确的,因为我个人认为未决的友谊请求是一种未经确认的友谊形式。

从设计的角度来看,我不确定每次用户需要查看他的友谊请求列表时如何创建一个临时表。如果该表不是临时表,您将拥有一个名为 Confirmed_friendships 和 pending_friendships 的表。

我强烈建议您将两者保留在同一个表中,除非有很多列是特定于 pending_friendships 且不可用于 confirm_friendships,反之亦然。

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2019-08-19
    • 2010-12-10
    • 2014-09-30
    相关资源
    最近更新 更多