Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql procura um catid em um campo de texto


O MySQL pode ajudá-lo a solucionar esses enormes erros de design de banco de dados com a função FIND_IN_SET . Dê uma chance a isso:
SELECT * FROM articlepix 
WHERE published = 1 AND FIND_IN_SET('86', catid) > 0
ORDER BY RAND() LIMIT 1

O que, obviamente, pode ser simplificado em:
WHERE published = 1 AND FIND_IN_SET('86', catid)

Como a função retorna apenas 0 quando não há correspondência, mas pode ser mais difícil entender o que faz :)