Bagaimana Mengendalikan Rekod dengan Berbilang Nilai dalam Klausa MySQL WHERE IN()?

Barbara Streisand
Lepaskan: 2024-11-06 18:07:03
asal
174 orang telah melayarinya

How to Handle Records with Multiple Values in a MySQL WHERE IN() Clause?

MySQL IN () Operator

Apabila menanyakan pangkalan data MySQL, operator WHERE IN () sering digunakan untuk mendapatkan semula baris berdasarkan tertentu nilai dalam lajur. Sebagai contoh, pertanyaan berikut mendapatkan semula semua baris daripada jadual "jadual" di mana lajur "id" sepadan dengan mana-mana nilai (1, 2, 3, 4):

<code class="sql">SELECT * FROM table WHERE id IN (1,2,3,4);</code>
Salin selepas log masuk

Walau bagaimanapun, isu timbul apabila rekod mempunyai berbilang nilai "id", seperti 1 dan 3. Dalam kes sedemikian, pertanyaan mungkin tidak mengembalikan baris tersebut.

Penyelesaian

Pertanyaan menterjemah kepada syarat ATAU berikut:

<code class="sql">SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';</code>
Salin selepas log masuk

Oleh itu, ia hanya akan mengembalikan baris yang sepadan dengan mana-mana syarat ini.

Untuk menyelesaikannya, satu pilihan ialah menggunakan jenis data SET untuk " lajur id". Ini membolehkan anda menyimpan berbilang nilai menggunakan rentetan yang dipisahkan koma. Anda kemudiannya boleh menggunakan fungsi FIND_IN_SET() untuk mencari nilai tertentu:

<code class="sql">SELECT * FROM table WHERE FIND_IN_SET('1', id);</code>
Salin selepas log masuk

Pertanyaan ini akan mengembalikan semua baris yang mempunyai '1' sebagai salah satu nilai dalam lajur "id", tanpa mengira sebarang nilai lain yang mungkin ada.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Rekod dengan Berbilang Nilai dalam Klausa MySQL WHERE IN()?. 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