【问题标题】:What is the right approach to insert multiple id's of petitions to single user?向单个用户插入多个请愿书的正确方法是什么?
【发布时间】:2020-11-10 13:12:11
【问题描述】:

我非常愿意修改标题

基本上,我正在制作一个关于请愿书的网站。我希望用户能够签署多个请愿书,并能够查看他签署的请愿书列表。我想知道什么是正确的方法。

我想到的方法一: 每个请愿书都有一个唯一的 ID,每个用户都有一个唯一的 ID。在我的请愿表中,我可以添加一个名为“signedUsers”的 varchar 列,并在其中添加带有“,”的用户 ID,然后将其作为字符串拉出,用“,”分隔,并显示用户签署的每个请愿书。

我想到的方法二: 与第一个类似,不同之处在于将签名用户存储到请愿表中,我可以将“签名请愿书”存储到用户表中。

这些是我能想到的方法,但这是我第一次这样做,我不知道这种情况是否有“已知”或“常见”的方法,所以我愿意接受一些启发。

附言 不确定这是否适合在没有代码的情况下提问,如果不是,我很抱歉。

【问题讨论】:

    标签: php mysql sql database


    【解决方案1】:

    您想要一个表userPetitions,其中每个用户一行,每个请愿书一行。该表将具有用户 ID 和请愿 ID,外键关系返回到这些表。

    这称为联结表关联表,是在 SQL 中存储多对多关系的正确方法。

    【讨论】:

      【解决方案2】:

      最好的解决方案是关联表signature
      每个签名都将注册在单独的行中。

      • user_id 的一列
      • petition_id 的一列

      如果您需要用户的其他信息,请将其放在 user 表主键中:user_id
      如果您需要有关请愿书的其他信息,请将其放在带有主键的 petition 表中:petition_id

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-23
        • 1970-01-01
        • 2023-03-24
        • 2010-09-16
        • 2020-02-07
        • 2011-05-25
        • 1970-01-01
        相关资源
        最近更新 更多