Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql WHERE masalah dengan daftar yang dipisahkan koma

Solusi Jangka Pendek

Gunakan fungsi FIND_IN_SET :

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

Solusi Jangka Panjang

Normalisasikan data Anda - ini tampaknya merupakan hubungan banyak ke banyak yang sudah melibatkan dua tabel. Daftar yang dipisahkan koma perlu diubah menjadi tabelnya sendiri:

ARTIST_LIST

  • artist_id (kunci utama, kunci asing untuk ARTIST)
  • uid (kunci utama, kunci asing ke 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. Mysql menghitung instance substring, lalu pesan berdasarkan

  2. Kesalahan MySQL 2013

  3. String MySQL ke TANGGAL / WAKTU atau TIMESTAMP

  4. Konektor MySQL/Python - masukkan variabel python ke tabel MySQL

  5. Cara mengatur String Koneksi dengan Entity Framework