如何在 MySql 中存储多个 select 选项以便于搜索
How to store multiple select option in MySql for easy searching
我不确定将多个 select 选项存储到 mysql 中的最佳方法。最初,我创建了一个逗号分隔的 selected 值列表。我读到这是糟糕的编程习惯,并且也很难弄清楚如何使用逗号分隔的 varchar 值(例如:1,5,17)搜索我的数据库中的三列。似乎最好的做法是创建一个 3rd table 来为上面的示例插入 3 条记录。此 table 将通过 id 链接。
示例:
Table 1(年龄级别)有字段 id 和年龄级别(婴儿、青少年、成人)
Table 2 有 classes id & class name
Table 3是存放多个select选项的WHO可以参加每个class。我想这些字段将是 id & classID & ageLevelID
我的问题如下:
1. 如何有效地将这些数据插入 table 2 和 table 3?
2. 我如何将所有内容整合在一起以搜索正在寻找 class 的人,例如仅允许婴儿和青少年的人?
关联 2 tables 很容易,关联 3 tables 是概念上的斗争。另外,我是否正确认为在一个字段中存储逗号分隔值是自找麻烦?谢谢。
Table agelevel (ageid (unique), agelevel)
Table 类 (classid (unique), classname)
Table 类信息(classid,字段名,字段值)
有了它,您可以拥有任何 'fieldname',例如年龄级别、详细描述、小时数等,然后是字段值中该字段的值。这允许您 类 将任何无限数量的变量附加到单个 classid。
我不确定将多个 select 选项存储到 mysql 中的最佳方法。最初,我创建了一个逗号分隔的 selected 值列表。我读到这是糟糕的编程习惯,并且也很难弄清楚如何使用逗号分隔的 varchar 值(例如:1,5,17)搜索我的数据库中的三列。似乎最好的做法是创建一个 3rd table 来为上面的示例插入 3 条记录。此 table 将通过 id 链接。
示例: Table 1(年龄级别)有字段 id 和年龄级别(婴儿、青少年、成人) Table 2 有 classes id & class name Table 3是存放多个select选项的WHO可以参加每个class。我想这些字段将是 id & classID & ageLevelID
我的问题如下: 1. 如何有效地将这些数据插入 table 2 和 table 3? 2. 我如何将所有内容整合在一起以搜索正在寻找 class 的人,例如仅允许婴儿和青少年的人?
关联 2 tables 很容易,关联 3 tables 是概念上的斗争。另外,我是否正确认为在一个字段中存储逗号分隔值是自找麻烦?谢谢。
Table agelevel (ageid (unique), agelevel)
Table 类 (classid (unique), classname)
Table 类信息(classid,字段名,字段值)
有了它,您可以拥有任何 'fieldname',例如年龄级别、详细描述、小时数等,然后是字段值中该字段的值。这允许您 类 将任何无限数量的变量附加到单个 classid。