sql >> Databáze >  >> RDS >> Mysql

Mysql WHERE problém se seznamem odděleným čárkami

Krátkodobé řešení

Použijte funkci FIND_IN_SET :

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

Dlouhodobé řešení

Normalizujte svá data – zdá se, že jde o vztah mnoho k mnoha, který již zahrnuje dvě tabulky. Čárkami oddělený seznam je třeba přeměnit na vlastní tabulku:

ARTIST_LIST

  • artist_id (primární klíč, cizí klíč pro ARTIST)
  • uid (primární klíč, cizí klíč k TBL)


  1. Chyba dotazu s nejednoznačným názvem sloupce v SQL

  2. 4 způsoby, jak zkontrolovat typ dat sloupce v MariaDB

  3. Řešení pro vkládání zámků záměru v MySQL

  4. Úvod do dočasných tabulek na serveru SQL Server