Rumah pangkalan data tutorial mysql Bagaimanakah Saya Memilih Baris dengan Nilai NULL dengan betul dalam MySQL?

Bagaimanakah Saya Memilih Baris dengan Nilai NULL dengan betul dalam MySQL?

Dec 01, 2024 am 11:04 AM

How Do I Correctly Select Rows with NULL Values in MySQL?

Memahami Nilai Null dalam MySQL

Dalam MySQL, nilai null mewakili data yang hilang atau tidak diketahui. Tidak seperti nilai lain, null tidak boleh dibandingkan secara langsung atau diberikan kepada dirinya sendiri. Tingkah laku ini boleh membawa kepada hasil yang tidak dijangka apabila membuat pertanyaan untuk baris dengan lajur nol.

Isu: Memilih Baris dengan Lajur Null

Apabila cuba memilih baris dengan nilai nol untuk lajur tertentu, bentuk pertanyaan biasa kelihatan seperti ini:

SELECT pid FROM planets WHERE userid = NULL;
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini mungkin mengembalikan set kosong walaupun jadual mengandungi baris dengan nol dalam lajur itu.

Penyelesaian: Menggunakan Perbandingan IS NULL

Untuk membuat pertanyaan dengan betul untuk nilai nol, gunakan operator IS NULL dan bukannya operator =. Pertanyaan yang betul hendaklah:

SELECT pid FROM planets WHERE userid IS NULL;
Salin selepas log masuk

Pengendali ini secara eksplisit menyemak sama ada lajur itu adalah batal, mengelakkan komplikasi kesaksamaan nol.

Pertimbangan Tambahan

  • Sensitiviti Kes: SQL ialah tidak peka huruf besar-kecil, jadi kedua-dua NULL dan null mewakili nilai nol.
  • Pengoptimuman Indeks: Perbandingan nol tidak boleh mendapat manfaat daripada indeks, yang berpotensi memperlahankan pertanyaan untuk jadual besar.
  • Enjin Storan Alternatif: InnoDB ialah pilihan yang lebih baik untuk jadual dengan nilai nol yang kerap seperti ia menyimpannya dengan lebih cekap daripada MyISAM.

Kesimpulan

Dengan menggunakan operator IS NULL dan mempertimbangkan enjin storan alternatif seperti InnoDB, anda boleh membuat pertanyaan dengan tepat untuk baris dengan nilai nol dalam MySQL. Walau bagaimanapun, ingat bahawa null kekal sebagai nilai istimewa dengan sifat unik yang boleh menjejaskan hasil pertanyaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Memilih Baris dengan Nilai NULL dengan betul dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kurangkan penggunaan memori MySQL di Docker Kurangkan penggunaan memori MySQL di Docker Mar 04, 2025 pm 03:52 PM

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Mar 04, 2025 pm 04:01 PM

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif Apa itu SQLite? Gambaran Keseluruhan Komprehensif Mar 04, 2025 pm 03:55 PM

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Mar 04, 2025 pm 03:54 PM

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Mar 04, 2025 pm 03:49 PM

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Mar 18, 2025 pm 12:00 PM

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?

See all articles