Heim > Datenbank > MySQL-Tutorial > Wie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?

Wie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?

DDD
Freigeben: 2024-11-30 10:20:21
Original
901 Leute haben es durchsucht

How to Correctly Select Rows with NULL Values in MySQL?

MySQL: Zeilen mit NULL-Werten auswählen

Beim Versuch, Zeilen abzurufen, in denen eine bestimmte Spalte einen NULL-Wert enthält, stößt der Benutzer auf eine leere Stelle Ergebnismenge. Diese Diskrepanz tritt auf, obwohl die Tabelle NULL-Werte anzeigt, wenn sie in phpMyAdmin angezeigt wird.

Die betreffende Abfrage ähnelt der folgenden:

SELECT pid FROM planets WHERE userid = NULL
Nach dem Login kopieren

Nachdem wir verschiedene Vorschläge untersucht haben, einschließlich der Prüfung auf „NULL“ oder „ null"-Strings und die Suche nach Leerzeichen führt dazu, dass der Benutzer die gewünschten Zeilen weiterhin nicht abrufen kann. Da der Benutzer vermutet, dass die MyISAM-Speicher-Engine ein Faktor sein könnte, konvertiert er die Tabelle in InnoDB. Das Problem besteht jedoch weiterhin.

Lösung des Problems

Die Lösung liegt im Verständnis der besonderen Natur von SQL-NULL-Werten. Im Gegensatz zu herkömmlichen Werten können NULL-Werte nicht mit dem Gleichheitszeichen (=) gleichgesetzt werden. Um Zeilen mit NULL-Werten korrekt abzurufen, muss die folgende Syntax verwendet werden:

WHERE field IS NULL
Nach dem Login kopieren

Diese Unterscheidung ergibt sich aus der Tatsache, dass NULL einen unbekannten oder undefinierten Wert darstellt, was es unmöglich macht, zu bestimmen, ob er wirklich gleich ist alles, auch sich selbst. Dieses Prinzip ist in Codds Regel 3 verankert.

Durch Anpassen der Abfrage an:

SELECT pid FROM planets WHERE userid IS NULL
Nach dem Login kopieren

der Benutzer sollte nun in der Lage sein, die Zeilen mit NULL-Werten erfolgreich abzurufen.

Das obige ist der detaillierte Inhalt vonWie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage