Asp.net 如何使用.net检索多选择逗号分隔的存储ID

Asp.net 如何使用.net检索多选择逗号分隔的存储ID,asp.net,mysql,c#-3.0,Asp.net,Mysql,C# 3.0,在插入活动期间,我正在存储multiselectedcheckbox列表事件id,这些事件id在活动表中使用逗号分隔。比如1,4,5,6 现在,当我尝试根据这些事件ID搜索活动信息时,它无法正常工作。也就是说,当我试图通过选择event_id 1搜索活动时,它也会搜索12、3、2或6、21、22等字段 我的搜索字符串如下所示 SELECT * FROM `crm_campaign` WHERE `event_ids` LIKE '%1,%' OR `event_ids` LIKE '%,1,%'

在插入活动期间,我正在存储multiselectedcheckbox列表事件id,这些事件id在活动表中使用逗号分隔。比如1,4,5,6

现在,当我尝试根据这些事件ID搜索活动信息时,它无法正常工作。也就是说,当我试图通过选择event_id 1搜索活动时,它也会搜索12、3、2或6、21、22等字段

我的搜索字符串如下所示

SELECT *
FROM `crm_campaign`
WHERE `event_ids` LIKE '%1,%'
OR `event_ids` LIKE '%,1,%'
OR `event_ids` LIKE '%,1%'
请给我提个建议

我应该更改多选字段的数据结构吗

现在我正在插入事件ID,如“1”、“4”、“5” 这是正确的方法吗?
如果是,那么如何在asp.net中使用搜索字符串,因为这些转义字符给我的mysqlcommand参数带来了问题。

我想您可以使用列表或数组。如果有逗号分隔的字符串,请使用split函数获取值数组并对该数组进行查询。

尝试将逗号连接到WHERE子句中事件ID的开始和结束处:

SELECT *
FROM `crm_campaign`
WHERE concat(',', `event_ids`, ',') LIKE '%,1,%'
由于表设计的性质,如果表包含许多行,则速度会很慢。
如果出现问题,请将事件ID移动到单独的相关表中。

谢谢。。但请给我举个例子。因为我是编程新手,请现在再试一次,我已改为MySqlsyntax@UdaySatardekar,如果此答案对您有效,请单击此答案左侧的复选标记,让其他人知道此答案有效,从而获得学分。