我有一个字符串foo =“a,b”。现在我想在mysql数据库中搜索以获取user_id,同时将字符串与likes字段进行比较。喜欢字段具有格式为interest =>的数据。 a c v d b。 不同的角色由空格分隔。我尝试使用喜欢,但结果不符合标准。我怎么能去做呢?
这是我的代码
select user_id from users where interest like %foo%;
答案 0 :(得分:1)
MySql在set like字段中不支持多个关键字搜索,您应该使用OR
添加每个搜索关键字的REGEXP
条件
如果您的格式兴趣如=> a,c,v,d,b
然后您可以使用FIND_IN_SET()
函数,否则REGEXP
提供精确搜索。
SELECT user_id FROM users
WHERE interest REGEXP '[[:<:]]a[[:>:]]' AND interest REGEXP '[[:<:]]b[[:>:]]'
此查询仅在a
,b
aa
和bbax
LIKE
不支持精确搜索。