Heim >Datenbank >MySQL-Tutorial >Wie wähle ich Zeilen mit NULL-Werten in MySQL richtig aus?
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
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
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
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!