任何快速帮助都将受到高度赞赏。我在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); ");
我特意缺少什么?
答案 0 :(得分:1)
由于mob_categories
中的数据由|
而不是逗号(,
)分隔,因此您需要首先使其与FIND_IN_SET
兼容。
首先用逗号(|
)替换所有,
。
SELECT * from table_name where find_in_set('cat 1', REPLACE(mob_categories,'|',',')) > 0