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

Mysql WHERE problème avec la liste séparée par des virgules

Solution à court terme

Utilisez la fonction FIND_IN_SET :

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

Solution à long terme

Normalisez vos données - cela semble être une relation plusieurs à plusieurs impliquant déjà deux tables. La liste séparée par des virgules doit être transformée en un tableau à part entière :

ARTIST_LIST

  • artist_id (clé primaire, clé étrangère vers ARTIST)
  • uid (clé primaire, clé étrangère vers TBL)