我希望在 MySQL 中做一个简单的比较测试,我有一个存储 ID 的字段,如下所示:
1;2;23;12
或者,如果在创建该条目时只选择了一个选项,则它只会是一个:
2
无论如何,我希望过滤我的选择查询以查找数据库中具有例如 ID 2 的条目。因此,我需要某种比较来将该 id 2 与该列与这些值和可能的单个值进行比较。
我希望在 MySQL 中做一个简单的比较测试,我有一个存储 ID 的字段,如下所示:
1;2;23;12
或者,如果在创建该条目时只选择了一个选项,则它只会是一个:
2
无论如何,我希望过滤我的选择查询以查找数据库中具有例如 ID 2 的条目。因此,我需要某种比较来将该 id 2 与该列与这些值和可能的单个值进行比较。
您正在寻找find_in_set功能:
Select
*
from
your_table
where
FIND_IN_SET('2',REPLACE( '1;2;23;12', ';' , ',' ) ) > 0
我建议您规范化数据库(请参阅:http ://en.wikipedia.org/wiki/First_normal_form )另外,请注意这种查询没有高性能。