选择在哪里(字段是一个内爆阵列)

时间:2014-10-11 01:25:10

标签: mysql select where

我的数据库表中有一个字段,它是一个使用逗号作为粘合剂的整数数字的内爆数组。这些数字代表另一个表中行的ID。

例如,此字段可以包含以下任何值:

2 2,5,12 5,6 14 4,12,55 等

如何在所述字段中搜索包含“5”的所有行?

假设我想找到包含“5”的行,因此它会为所述字段找到包含以下任何内容的行:

5 5,12 3,5,8 1,4,5 等

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

使用find_in_set()

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
        -> 2

请参阅:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set


但是,如果您经常搜索非标准化数据,我建议不要存储非标准化数据。这种数据的规范化表可以利用索引。