如何在MySql中存储多个选择选项以便于搜索

时间:2015-03-30 20:06:59

标签: php mysql select insert

我不确定将多个选择选项存储到mysql的最佳方法。最初,我创建了一个逗号分隔的选定值列表。我已经读过这是一个糟糕的编程习惯,并且还很难找到如何使用逗号分隔的varchar值来搜索我的数据库中的三列(例如:1,5,17)。似乎最好的做法是创建一个第3个表,它将为上面的例子插入3个记录。该表将通过id链接。

实施例: 表1(年龄等级)具有字段id&年龄层(宝宝,青少年,成年人) 表2列出了id&班级名称 表3是存储WHO的多个选择选项可以参加每个班级。我猜这些字段将是id& classID& ageLevelID

我的问题如下: 1.如何有效地将这些数据插入表2和表3? 2.例如,我如何将它们全部拉到一起来寻找正在寻找允许婴儿和青少年的课程的人?

关于2个表很容易,相关的3个表是一个概念上的斗争。另外,我是否正确要求在一个字段中存储逗号分隔值?谢谢。

1 个答案:

答案 0 :(得分:0)

表年龄级别(ageid(唯一),年龄级别)

表类(classid(唯一),类名)

表classesinfo(classid,fieldname,fieldvalue)

这样你可以拥有任何'fieldname',例如agelevel,详细描述,小时等,然后是fieldvalue中该字段的值。这允许您的类将任何无限数量变量附加到单个classid。