Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql WHERE problema con l'elenco separato da virgole

Soluzione a breve termine

Usa la funzione TROVA_IN_SET :

SELECT uid 
  FROM tbl 
 WHERE FIND_IN_SET('401', artist_list) > 0

Soluzione a lungo termine

Normalizza i tuoi dati:questa sembra essere una relazione molti-a-molti che coinvolge già due tabelle. L'elenco separato da virgole deve essere trasformato in una tabella a sé stante:

ELENCO_ARTISTI

  • id_artista (chiave primaria, chiave esterna per ARTIST)
  • uid (chiave primaria, chiave esterna a TBL)