我有2个MySQL表:
categories (id int, name varchar(1000))
并且
products (id int, name varchar(1000))
每个产品可以分为多个类别。我正在考虑将列“category_ids”添加到表'products'中,类别Ids用分号分隔,但这种方法对MySQL查询不方便。
还有其他可能的方法吗?
答案 0 :(得分:5)
创建一个匹配具有类别的产品的表:
product_id category_id
1 1
1 2
2 5
3 5
3 2
等。希望它有所帮助:)
答案 1 :(得分:2)
添加连接两者的联结表:
**product_categories**
productid (FK ref product.id)
categoryid (FK ref categories)
答案 2 :(得分:2)
制作第三个表格,参考下表中的两个表格
答案 3 :(得分:1)
这似乎是一对多关系......
为了映射多对多的关系,你需要另一张表
categories_products(id, category_id, product_id)
因此,一个产品可以归入许多类别,同样一个类别可以容纳许多产品。
产品表与categories_products表有一对多的关系 类别表还将与categories_products表具有一对多关系
这是实现多对多关系的标准方法