Mysql 使用逗号分隔列表查找列中以逗号分隔的值

Mysql 使用逗号分隔列表查找列中以逗号分隔的值,mysql,sql,mysql-5.7,find-in-set,Mysql,Sql,Mysql 5.7,Find In Set,我有一个列项目id\u列表,id以逗号分隔,如下所示: SELECT * FROM task_detail WHERE FIND_IN_SET('21', item_id_list) 我可以使用FIND_IN_SET()搜索它们,例如: SELECT * FROM task_detail WHERE FIND_IN_SET('21', item_id_list) 但我需要检查行中是否存在多个id,但添加另一个id到搜索将无法按照文档中的说明工作 如果第一个参数包含 逗号(,)字符 在不改

我有一个列
项目id\u列表
,id以逗号分隔,如下所示:

SELECT * FROM task_detail WHERE FIND_IN_SET('21', item_id_list)

我可以使用
FIND_IN_SET()
搜索它们,例如:

SELECT * FROM task_detail WHERE FIND_IN_SET('21', item_id_list)
但我需要检查行中是否存在多个id,但添加另一个id到搜索将无法按照文档中的说明工作

如果第一个参数包含 逗号(,)字符


在不改变表结构的情况下,如何解决此问题?现在,通过id编号循环查找集合中的集合()。

您可以使用OR和查找集合中的集合

    SELECT * FROM task_detail 
    WHERE FIND_IN_SET('21', item_id_list)
    OR  FIND_IN_SET('79', item_id_list)