Nilai pertanyaan dalam rentetan dipisahkan koma dalam MySQL
P粉763748806
P粉763748806 2023-08-17 14:24:54
0
2
349

Saya mempunyai medan COLORS (varchar(50)) dalam jadual SHIRTS yang mengandungi rentetan dipisahkan koma seperti < ;kod>1,2 ,5,12,15,. Setiap nombor mewakili warna yang tersedia.

Apabila menjalankan pertanyaan pilih * daripada baju dengan warna seperti '%1%' untuk mendapatkan semua baju yang berwarna merah (warna=1), saya juga mendapat warna kelabu ( = 12) dan oren (=15) baju.

Bagaimanakah saya harus menulis semula pertanyaan supaya ia hanya memilih semua warna dengan warna 1 dan bukannya semua warna yang mengandungi nombor 1?

P粉763748806
P粉763748806

membalas semua (2)
P粉036800074

FIND_IN_SETadalah rakan anda dalam kes ini

select * from shirts where FIND_IN_SET(1,colors)
    P粉254077747

    Kaedah klasik ialah menambah koma di sebelah kiri dan kanan:

    select * from shirts where CONCAT(',', colors, ',') like '%,1,%'

    Tetapifind_in_setjuga berfungsi:

    select * from shirts where find_in_set('1',colors) <> 0
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!