caner taşdemir caner taşdemir - 2 months ago 9
MySQL Question

mySQL - FIND_IN_SET() doesn't find the value

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 ?

Answer

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 
Comments