使用 mysql 的多值过滤器
Multi value filter using mysql
我有一个候选人table。其中,我有一个名为 skills 的列。它使用定界符存储多个值。现在我想创建一个包含技能的搜索过滤器。我该怎么做?
提前致谢。
在MySQL中,一个选项使用find_in_set()
:
select * from candidates where find_in_set(?, skills)
?
代表您搜索的技能。
也就是说,一个更好的选择是规范化您的架构。您不应在单个列中存储多个值。相反,您应该有一个单独的 table 来存储候选人和技能之间的关系,每个 candidate/skill 元组在单独的行中。
推荐阅读:Is storing a delimited list in a database column really that bad?
我有一个候选人table。其中,我有一个名为 skills 的列。它使用定界符存储多个值。现在我想创建一个包含技能的搜索过滤器。我该怎么做?
提前致谢。
在MySQL中,一个选项使用find_in_set()
:
select * from candidates where find_in_set(?, skills)
?
代表您搜索的技能。
也就是说,一个更好的选择是规范化您的架构。您不应在单个列中存储多个值。相反,您应该有一个单独的 table 来存储候选人和技能之间的关系,每个 candidate/skill 元组在单独的行中。
推荐阅读:Is storing a delimited list in a database column really that bad?