【问题标题】:Mysql-foreign keys and array [duplicate]Mysql-外键和数组[重复]
【发布时间】:2015-06-06 19:35:30
【问题描述】:

我有两张桌子。一个是类别,另一个是产品。问题是一种产品可以有多个类别,我不知道该怎么做。

我已将表与外键 1:n 关联起来。

谢谢

【问题讨论】:

  • 听起来像是典型的多对多关系。您应该创建一个中间表来解决它。谷歌它
  • 你创建CategoryProduct link 表。
  • 该问题以 3-2 多数被标记为重复,但其中两票是“不清楚你在问什么”。我不知道这是否是重复的,因为您还没有解释您要完成的工作或问题所在。请阅读关于提出好问题的建议:[How to Ask]、[Writing the perfect question]。请特别注意“黄金法则”,但我强烈建议您阅读整篇文章。

标签: mysql


【解决方案1】:

您需要另一个表,可能称为 ProductCategories。 每行包含一个产品的外键和一个类别的外键。 当您要查找产品的类别时,请查询具有该产品 ID 的所有 ProductCategories。

【讨论】:

    【解决方案2】:

    您应该创建 3 个表并将它们关联在一起,如下所示:

    Table: Items
    Columns: ID, Item_ID, Item_Title, Content
    
    Table: Tags
    Columns: Tag_ID, Tag_Title
    
    Table: Items_Tags
    Columns: Item_ID, Tag_ID
    
    • Item_ID 是 Items 表中的外键。

    • Items_Tags 是一个关联表。

    例如,此代码打印所有 x 标签:

    SELECT * FROM items i 
    LEFT JOIN item_tags it ON i.item_id = it.item_id
    LEFT JOIN tags t ON t.tag_id = it.tag_id
    WHERE tag_title = 'x'
    

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 2011-06-10
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      相关资源
      最近更新 更多