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

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

DDD
DDDasal
2025-01-01 13:56:11225semak imbas

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)

Ini dikompilasi kepada:

WHERE id_campo NOT IN ('817,803,495')

Walau bagaimanapun, sintaks yang betul ialah:

WHERE id_campo NOT IN ('817', '803', '495')

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

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!

Kenyataan:
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