如何设计表模式以存储来自<select multiple =“”> </select>的值

时间:2014-05-19 06:58:16

标签: mysql sql

我有一个选择多个列表html控件,它允许最终用户选择多个项目。目前,我将用户选择的值存储为“卡车,重卡,其他”到mysql varchar字段中。但如果用户选择卡车选择多个控制,则搜索卡车和重型卡车。此查询的SQL语句类似于“从表中选择truckType,其中trackType类似'%truck%'”。

似乎解决方案的唯一方法是将选定的值放入另一个表中。

还有其他方法可以在一个表中处理此问题吗?

2 个答案:

答案 0 :(得分:0)

,添加到最后并开始

因此值变为, truck, heavy truck, others,

使用此查询

select truckType from table where trackType like '%, truck,%

注意:,

中的like '%, truck,%'

答案 1 :(得分:0)

你应该单独制作一个表格:

------------------
typeId | type        |
-----------------
1      | truck       |
2      | heavy truck |
....

也是实体表:

------------------
entityid |         |
-----------------
1        | entity1 |
2        | entity2 |

和其他表将与此表具有多对一关系:

-------------------------------
id | typeId      | entityId    |
-------------------------------
1  | 1           | 2           |
2  | 2           | 2           |
2  | 2           | 1           |

你的选择将是这两个表的连接。