首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对多个关系使用MySQL 1

对多个关系使用MySQL 1
EN

Stack Overflow用户
提问于 2011-07-06 21:42:54
回答 3查看 1.3K关注 0票数 1

我目前还没有任何代码。我明白什么是一对多的结合关系是,我只是不知道如何使它发挥作用。这里的想法是,许多运营商可以拥有产品,反之亦然。如果每个表只有一个字段来保存其他的ID,我如何跟踪哪些运营商有哪些产品?下面是一个例子:

表:承运人

  • name

  • productID

  • id

表:产品

  • name

  • description

  • carrierID

  • id
EN

回答 3

Stack Overflow用户

发布于 2011-07-06 21:52:52

Michael,无论是载体表还是产品表,都有太多的信息。使用此表结构,您将不得不创建每一承运人/产品的承运人线和每产品/承运人的产品线。

考虑这一点的一种方法是有三张桌子:

表:运营商

  • name

  • ID

表:产品

  • description

  • ID
  • 名称

表: product_carriers

  • carrier_id
  • product_id

使用这种类型的结构,您可以从product_carriers表中获取所有信息,并且产品和运营商表在每个产品和运营商中都是唯一的,从而消除重复信息并加快查询速度。

票数 1
EN

Stack Overflow用户

发布于 2011-07-06 21:49:47

您有第三个表,其中包含了载体和productid,并填充了该关系。

例如:

代码语言:javascript
复制
cid,pid
1,1
1,2
2,1
2,4

载体id 1与乘积id 1相关,载体id 2与乘积id 1和4相关。

产品id 1与载体id 1和2相关。

票数 0
EN

Stack Overflow用户

发布于 2011-07-06 21:51:54

实际上,这是一段非常多的关系。多个载体,每个载体携带一个或多个产品。要做到这一点,您需要第三个表来生成连接:

代码语言:javascript
复制
carrier_products:
    carrier_id (foreign key to carriers) 
    product_id (foreign key to products)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6603398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档