Reputation: 203
I m trying to get posts which includes a spesific tag.
The tag row content
,iphone|1468338028,,android|1468338028,,blackberry|1468338028,
query
SELECT * FROM shares WHERE FIND_IN_SET(tag, 'iphone') > 0 ORDER BY DATE DESC limit 10
What is the correct way to do it ?
Upvotes: 0
Views: 132
Reputation: 12488
Another alternative is to use LIKE "%text%"
, if you're not required to use FIND_IN_SET()
.
SELECT * FROM shares
WHERE tag LIKE "%iphone%"
ORDER BY DATE DESC limit 10
Above snippet should achieve the same, thus avoiding replacing and trimming issues.
Upvotes: 1
Reputation: 204884
Your tag is iphone|1468338028
and you look for iphone
. That does not match.
Replace the |
with ,
to separate the values.
SELECT * FROM shares
WHERE FIND_IN_SET(replace(tag, '|', ','), 'iphone') > 0
Upvotes: 1