我试图获取包含特定标签的帖子。
标记行内容
,iphone|1468338028,,android|1468338028,,blackberry|1468338028,
查询
SELECT * FROM shares WHERE FIND_IN_SET(tag, 'iphone') > 0 ORDER BY DATE DESC limit 10
这样做的正确方法是什么?
答案 0 :(得分:1)
您的代码为iphone|1468338028
,您正在寻找iphone
。这不匹配。
将|
替换为,
以分隔值。
SELECT * FROM shares
WHERE FIND_IN_SET(replace(tag, '|', ','), 'iphone') > 0
答案 1 :(得分:1)
另一种方法是使用LIKE "%text%"
,如果您不需要使用FIND_IN_SET()
。
SELECT * FROM shares
WHERE tag LIKE "%iphone%"
ORDER BY DATE DESC limit 10
上面的代码片段应达到相同的效果,从而避免更换和修剪问题。