Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql WHERE проблем със списък, разделен със запетая

Краткосрочно решение

Използвайте функцията FIND_IN_SET :

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

Дългосрочно решение

Нормализирайте данните си - това изглежда е връзка много към много, която вече включва две таблици. Списъкът, разделен със запетая, трябва да бъде превърнат в собствена таблица:

СПИСЪК НА ИЗПЪЛНИТЕЛИ

  • artist_id (първичен ключ, външен ключ за ARTIST)
  • uid (първичен ключ, външен ключ към TBL)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разрешим грешка при извикване на недефинирана функция dbase_open() в Windows

  2. Вземете OLD стойност в MySQL Trigger СЛЕД изявление за актуализиране

  3. разширяване на класа на PDO

  4. Как да дам на всеки регистриран потребител свой собствен URL с помощта на PHP?

  5. PHP/MySQL - BEGIN...COMMIT Не работи