Rumah > pangkalan data > tutorial mysql > Mengapa Klausa SQL WHERE Saya Nampaknya Mengabaikan Parameter?

Mengapa Klausa SQL WHERE Saya Nampaknya Mengabaikan Parameter?

Barbara Streisand
Lepaskan: 2025-01-19 10:11:09
asal
474 orang telah melayarinya

Why Does My SQL WHERE Clause Seem to Ignore a Parameter?

Menyelesaikan masalah SQL WHERE Klausa: Menangani Parameter Overlook

Artikel ini menangani isu pertanyaan SQL biasa yang mana klausa WHERE nampaknya mengabaikan parameter tertentu. Pertimbangkan contoh ini:

<code class="language-sql">SELECT * FROM people 
WHERE
university='2' 
AND MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) 
OR (fname LIKE '%box%' OR lname LIKE '%box%') </code>
Salin selepas log masuk

Pertanyaan ini, tanpa diduga, mengembalikan baris dengan university bukan '2'. Masalahnya terletak pada keutamaan pengendali dan susunan operasi.

Penyelesaian melibatkan penstrukturan semula klausa WHERE menggunakan kurungan untuk mengumpulkan syarat dengan betul:

<code class="language-sql">SELECT * FROM people 
WHERE
    university='2' 
    AND (MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) 
         OR fname LIKE '%box%' 
         OR lname LIKE '%box%')</code>
Salin selepas log masuk

Dengan menyertakan syarat MATCH dan LIKE dalam kurungan, kami memastikan kedua-dua carian teks penuh dan syarat LIKE digunakan hanya pada baris dengan university = '2'. Operator AND kemudiannya mengehadkan keputusan dengan betul kepada yang memenuhi semua kriteria yang ditentukan. Struktur yang disemak ini menjamin hasil yang tepat berdasarkan penapisan parameter yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa Klausa SQL WHERE Saya Nampaknya Mengabaikan Parameter?. 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