我的数据库表中有一个字段,它是一个使用逗号作为粘合剂的整数数字的内爆数组。这些数字代表另一个表中行的ID。
例如,此字段可以包含以下任何值:
2 2,5,12 5,6 14 4,12,55 等
如何在所述字段中搜索包含“5”的所有行?
假设我想找到包含“5”的行,因此它会为所述字段找到包含以下任何内容的行:
5 5,12 3,5,8 1,4,5 等
非常感谢任何帮助。
答案 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
但是,如果您经常搜索非标准化数据,我建议不要存储非标准化数据。这种数据的规范化表可以利用索引。