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?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-01 11:04:14285semak imbas

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;

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;

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