MYSQL使用文本选择IN查询

时间:2016-09-01 07:57:31

标签: php mysql

任何快速帮助都将受到高度赞赏。我在mysql中的表行名为mob_categories,现在数据被保存为'|'例如,分隔(cat 1|cat 2|cat 3等等。现在,如果输入值匹配,我需要从同一个表中的另一列获取值。

例如,如果值为cat 1,我需要选择另一列中的值,并将其命名为deveice_token,只要它与'cat 1'匹配

我试过这段代码,但它不能以某种方式工作

SELECT * from table_name where find_in_set('cat 1',mob_categories) <> 0

所以我用下面的代码修改了一下,但如果这个格式的格式以这种格式退出(即1,2,3

),它只用数值
$userNotification = $wpdb->get_results("SELECT * from table_name where 1 IN (mob_categories); "); 

我特意缺少什么?

1 个答案:

答案 0 :(得分:1)

由于mob_categories中的数据由|而不是逗号(,)分隔,因此您需要首先使其与FIND_IN_SET兼容。

首先用逗号(|)替换所有,

SELECT * from table_name where find_in_set('cat 1', REPLACE(mob_categories,'|',',')) > 0