Rumah > pangkalan data > tutorial mysql > Bagaimana Menggunakan Klausa 'NOT IN' MySQL dengan Senarai Nilai?

Bagaimana Menggunakan Klausa 'NOT IN' MySQL dengan Senarai Nilai?

DDD
Lepaskan: 2025-01-01 13:56:11
asal
181 orang telah melayarinya

How to Use MySQL's

Sintaks MySQL untuk Senarai Nilai "NOT IN"

Soalan:

Bagaimana anda mentakrifkan pembolehubah MySQL dengan senarai nilai untuk digunakan dalam klausa "TIDAK MASUK", dengan berkesan mengecualikan berbilang nilai daripada a pertanyaan?

Jawapan:

Apabila membina klausa "TIDAK MASUK" dengan senarai nilai, adalah penting untuk mengelak daripada menggunakan keseluruhan senarai sebagai rentetan tunggal dalam klausa. MySQL menyusunnya sebagai rentetan bersatu, manakala klausa "NOT IN" memerlukan nilai individu. Pertimbangkan contoh berikut:

WHERE id_campo NOT IN (@idcamposexcluidos)
Salin selepas log masuk

Ini dikompilasi kepada:

WHERE id_campo NOT IN ('817,803,495')
Salin selepas log masuk

Walau bagaimanapun, sintaks yang betul ialah:

WHERE id_campo NOT IN ('817', '803', '495')
Salin selepas log masuk

Untuk mengatasinya, terdapat dua pendekatan biasa:

  • Dinamik SQL: Bina rentetan pertanyaan dengan sintaks yang betul, memastikan bahawa nilai individu ditentukan dalam klausa "TIDAK MASUK".
  • FIND_IN_SET: MySQL menyediakan fungsi FIND_IN_SET(), yang boleh digunakan seperti berikut:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
Salin selepas log masuk

Adalah penting untuk diperhatikan bahawa menggunakan fungsi FIND_IN_SET() boleh memberi kesan kepada prestasi jika indeks digunakan pada lajur 'id_campo'.

Atas ialah kandungan terperinci Bagaimana Menggunakan Klausa 'NOT IN' MySQL dengan Senarai Nilai?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan