【问题标题】:How to add category to product in mysql如何在mysql中为产品添加类别
【发布时间】:2014-11-21 17:36:05
【问题描述】:

我为我的购物车数据库创建了两个表 Category 和 Products。我应该构建第三个表 CategoryProduct 并在其中保存类别和产品的 ID,还是在产品表中有一列将类别保存到其中。

我问是因为我需要按类别展示产品。请指导或给我一个例子。

【问题讨论】:

  • 研究数据库关系。 CategoryProduct 表可以作为类别和产品之间的多对多关系的示例。

标签: mysql sql shopping-cart


【解决方案1】:

如果产品只属于一个类别,那么您不需要第三个表。只需创建一个列CategoryId 作为外键并从类别表中引用CategoryId

但是,如果产品属于多个类别,那么您需要第三个表,例如带有列的 CategoryProducts

  • Id:主键作为代理键,与关系无关,
  • ProductId(引用 products 表中的产品 id 列,
  • CategoryId(引用类别表中的类别 id 列。

【讨论】:

  • 您能否举例说明如何将具有 2 个类别的新产品插入 Products 表并同时存储其关系。是否可以在 1 个查询中完成?
  • @faniva - 在 mySQL 上检查这个问题和答案,stackoverflow.com/questions/19714308/…
【解决方案2】:

创建具有两个字段 product_id 和 category_id 的新表,这样关系可以与基数多对多(许多产品与许多类别相关)正确维护。

【讨论】:

    【解决方案3】:

    这取决于产品是否可以有多个类别,如果是这种情况,那么您将需要第三张表来保存两者的 id。如果它是每个产品一个类别,您可以在产品表中添加一个外键来保存类别 ID。

    【讨论】:

    • @NidhiVij 没问题,请随时投票和/或接受有用的答案。
    • 我认为您可以投票回答您的问题。对不起。
    • 没关系。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2022-06-10
    • 2013-05-17
    • 2015-09-16
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多