mysql - 正确的方法来关联这些表

时间:2016-08-03 19:07:34

标签: mysql

所以,我有2张桌子

在第一张桌子上,我们称之为产品,假设我有

product_id, company_id (this is a FK), product_name.

在第二张桌子上,我们称之为交易,我有

deal_id, company_id (same one as the first table), deal_title. 

我需要在交易中添加产品。如果我在deal表中添加了一个product_id字段,那么每笔交易都会有多行和一行ID,这是完全错误的。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

您应该添加一个表来管理产品和交易之间的关系 例如:

 table products_deal 

 product_id 
 deal_id

答案 1 :(得分:1)

你想要的是你拥有的两个表之间的pivot table,其结构如下:

|-deal_id----|-product_id----|
| 10         | 23            |
| 10         | 24            |
| 10         | 32            |
| ...
| ...

如果您需要找到与交易#10相关联的所有商品,您可以使用SELECT * FROM pivot_table WHERE deal_id = 10

之类的查询