【问题标题】:How to do this with a Many-to-Many relation如何使用多对多关系做到这一点
【发布时间】:2018-03-22 10:14:23
【问题描述】:

我有两个对象:通道和标记 a 具有多对多关系。一个频道可以有多个标签,一个标签可以有多个频道。

所以我有三张桌子:
-通道表
-标签表
-连接表

在频道页面上,将有链接到它的标签列表。我还希望如果用户点击一个标签,它会增加一个与之链接的计数器。 但我不知道该怎么做。

我可以在连接表中添加第三列来表示点击次数吗? 或者我可以在联结表中有重复项(即每次用户点击频道“omega”的标签“kids”时,它会在联结表中添加一行链接“kids”和id“omega”的id)

或者还有其他/更好的方法吗?

【问题讨论】:

    标签: sql database-design


    【解决方案1】:

    您可以在关系中添加一个计数器列。不要存储重复的行。如果您想跟踪单个点击,您可以添加一个 user_id 和 datetime 列,并将它们作为主键或唯一键的一部分。

    【讨论】:

    • 感谢您的回答,我确实想跟踪单个点击,所以它是完美的!
    【解决方案2】:

    您可以将点击存储在不同的表格中。就那么简单。向现有表添加多行将使其不可读。并且不断更新点击也不是一个好主意。只需通过单击创建另一个表并存储每个表。稍后您可以在视图中显示它们并对其进行计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-07
      • 2013-03-05
      • 2018-07-03
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多