Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Baris dengan Nilai NULL dengan betul dalam MySQL?

Bagaimana untuk Memilih Baris dengan Nilai NULL dengan betul dalam MySQL?

DDD
DDDasal
2024-11-30 10:20:21918semak imbas

How to Correctly Select Rows with NULL Values in MySQL?

MySQL: Memilih Baris dengan Nilai NULL

Semasa cuba mendapatkan semula baris di mana lajur tertentu mengandungi nilai NULL, pengguna menghadapi kosong set keputusan. Percanggahan ini timbul walaupun jadual memaparkan nilai NULL apabila dilihat dalam phpMyAdmin.

Pertanyaan yang dimaksudkan menyerupai yang berikut:

SELECT pid FROM planets WHERE userid = NULL

Selepas meneroka pelbagai cadangan, termasuk menyemak "NULL" atau " null" dan mencari ruang kosong, pengguna tetap tidak dapat mendapatkan semula baris yang dikehendaki. Mengesyaki bahawa enjin storan MyISAM mungkin menjadi faktor penyumbang, pengguna menukar jadual kepada InnoDB. Walau bagaimanapun, isu ini berterusan.

Menyelesaikan Isu

Penyelesaian terletak pada memahami sifat istimewa nilai SQL NULL. Tidak seperti nilai tradisional, NULL tidak boleh disamakan menggunakan tanda sama (=). Untuk mendapatkan semula baris dengan nilai NULL dengan betul, sintaks berikut mesti digunakan:

WHERE field IS NULL

Pembezaan ini berpunca daripada fakta bahawa NULL mewakili nilai yang tidak diketahui atau tidak ditentukan, menjadikannya mustahil untuk menentukan sama ada ia benar-benar sama dengan apa sahaja, termasuk dirinya sendiri. Prinsip ini termaktub dalam Peraturan Codd 3.

Dengan melaraskan pertanyaan kepada:

SELECT pid FROM planets WHERE userid IS NULL

pengguna kini sepatutnya berjaya mendapatkan semula baris dengan nilai NULL.

Atas ialah kandungan terperinci Bagaimana untuk 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