Bagaimana untuk Mencari Nilai Khusus dengan Cekap dalam Senarai Dipisahkan Koma dalam MySQL?

Linda Hamilton
Lepaskan: 2024-11-09 14:17:02
asal
842 orang telah melayarinya

How to Efficiently Search for Specific Values in Comma-Separated Lists in MySQL?

Mencari Senarai Dipisahkan Koma dalam MySQL

Apabila berurusan dengan medan MySQL yang mengandungi senarai ID yang dipisahkan koma (cth., " 12,13,14,16"), menjadi mencabar untuk mencari secara khusus nilai tertentu dalam senarai itu menggunakan LIKE operator.

Seorang pengguna yang menghadapi isu ini mencari cara untuk mencari nilai tertentu (cth., "1") dalam medan sedemikian. Walau bagaimanapun, menggunakan pertanyaan seperti "SELECT ... WHERE field LIKE '%1%'" akan mengakibatkan pengambilan hampir semua entri disebabkan oleh kelaziman ID dalam julat 10-20 dalam medan.

Untuk menangani perkara ini, pengguna mempertimbangkan untuk mencari "%1,%" sebaliknya. Walau bagaimanapun, pendekatan ini tidak akan berfungsi untuk ID pertama dan terakhir dalam medan.

Penyelesaian: Fungsi FIND_IN_SET

Penyelesaian terletak pada penggunaan fungsi FIND_IN_SET dalam MySQL. FIND_IN_SET mengambil dua hujah: rentetan untuk dicari dan rentetan dipisahkan koma untuk mencari dalam. Ia mengembalikan kedudukan rentetan yang sedang dicari dalam rentetan carian, atau 0 jika ia tidak ditemui.

Dalam kes ini, untuk mencari "1" dalam medan, pertanyaannya ialah:

SELECT ... WHERE FIND_IN_SET('1', field)
Salin selepas log masuk

Pertanyaan ini hanya akan mengembalikan baris dengan "1" hadir dalam senarai ID yang dipisahkan koma dalam medan.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Khusus dengan Cekap dalam Senarai Dipisahkan Koma dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan