在MySQL中存储可用于零件数据库的最佳方式

时间:2012-09-11 03:33:12

标签: php mysql

我将汽车零件存放在数据库中。显然,某些部件仅适用于特定车辆的某些年份。

当输入部件到MySQL时,我让用户只使用这种格式的日期,“41,42,43,45,46”等。然后我只是内爆,在PHP中爆炸。这是有效的,因为我需要做的事情。

现在我需要根据它们可用的年份来提取零件。如果我可以提供帮助,我不想在表单中使用多选框。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

从不在一个字段中存储多个信息,如果您想单独访问它们。从不。

您需要修改数据库以在模型年份和零件之间建立连接表,而不是将所有模型年份塞进零件表的单个字段中。

一些棘手的文本选择将会起作用,但它肯定会扼杀你的表现。如果这是一个完整的零件目录,即使对于单个型号,它也会使您的性能无法使用。

抱歉:比礼貌更诚实,如果你真的不能同时拥有这两者。

答案 1 :(得分:2)

你有多对多的关系...所以创建另一个表

示例...

part_id | Year
--------------
  1      1995
  1      1996
  2      1995
  2      1997
  3      1998
等等......

然后,您可以使用类似

之类的东西获得所有年份
select *
from parts
join parts_years
    on (part_id = parts.id);