sql >> Base de Datos >  >> RDS >> Mysql

mysql busca un catid en un campo de texto

MySQL puede ayudarlo a solucionar estos enormes errores de diseño de base de datos con la función FIND_IN_SET . Prueba esto:

SELECT * FROM articlepix 
WHERE published = 1 AND FIND_IN_SET('86', catid) > 0
ORDER BY RAND() LIMIT 1

Que, por supuesto, se puede simplificar en:

WHERE published = 1 AND FIND_IN_SET('86', catid)

Como la función solo devuelve 0 cuando no hay coincidencia, pero puede ser más difícil entender lo que hace :)