我必须将产品发布到mySql 其中每个产品无法预测它有多少种颜色;某些产品可能只有一种颜色或10种颜色。
出于这个原因,在这一刻,我只创建了一堆 20个单独的颜色表,其中所有这些表都指向名为product的主表。
我的问题是:
首先,如何将“产品表”链接到所有颜色“表格”
其次,如何同时发布“产品表”和“颜色表”。我的意思是,当我将一个产品发布到“产品表”中以获取其标题,描述和价格时,我还可以在每个表格中发布一些不同的颜色图像。
我用PHP表单执行此操作。因为我是Mysql和PHP的新手,到目前为止我只能将一些内容发布到一个表中。
我希望有人在上面的问题中明白我的意思。
我也在寻找一种不同的方法如果有人有聪明的方法来做到这一点。
非常感谢你。
答案 0 :(得分:3)
在正在运行的系统中,表格设计不应更改。至少不多。不要一直生成表格。
更好的桌面设计将使用2个表格进行颜色
colors table
------------
id
name
product_colors table
--------------------
product_id
color_id
示例数据将是
products
id title description ...
1 prod1 bla bla
colors
id name
1 green
2 blue
product_colors
product_id color_id
1 1
1 2
然后获取产品prod1
的颜色,你可以做
select c.name
from colors c
join product_colors pc on pc.color_id = c.id
join products p on pc.product_id = p.id
where p.title = 'prod1'
该设计非常灵活 - 您可以为产品提供尽可能多的颜色,并且查询速度非常快。