Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql recherche un catid dans un champ de texte

MySQL peut vous aider à contourner ces énormes erreurs de conception de base de données avec la fonction FIND_IN_SET . Essayez ceci :

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

Qui bien sûr peut être simplifié en :

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

Comme la fonction ne renvoie que 0 quand il n'y a pas de correspondance, mais il peut être plus difficile de comprendre ce qu'il fait :)