Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Suche nach einer CatID in einem Textfeld

MySQL kann Ihnen helfen, diese riesigen Datenbankdesignfehler mit der Funktion FIND_IN_SET . Probieren Sie es aus:

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

Was natürlich vereinfacht werden kann zu:

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

Da die Funktion nur 0 zurückgibt wenn es keine Übereinstimmung gibt, aber es könnte schwieriger sein zu verstehen, was es tut :)