Kortsigtet løsning
Brug funktionen FIND_IN_SET :
WHERE FIND_IN_SET('Queensland', csv_column)
...fordi det er risikabelt at bruge LIKE med jokertegn i begge ender, afhængigt af hvor meget/lidt der matcher (og det sikrer også en bordscanning). Ydeevnen for LIKE med jokertegn på begge sider er på niveau med REGEXP – det betyder dårligt.
Langsigtet løsning
Gem ikke kommaseparerede værdier – brug en rigtig mange-til-mange-relation, der involverer tre tabeller:
Ting
- ting_id (primær nøgle)
Australske stater
- State_id (primær nøgle)
- State_name
Things_to_Auz_States
- thing_id (primær nøgle, fremmednøgle til
THINGS
tabel) - State_id (primær nøgle, fremmednøgle til
AUSTRALIAN_STATES
tabel)
Du skal bruge JOINs for at få data ud af de tre tabeller, men hvis du vil vide ting som, hvor mange der er knyttet til en bestemt tilstand eller to bestemte tilstande, er det den rigtige model.