Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeilen mit NULL-Werten in MySQL effektiv abrufen?
In MySQL kann es schwierig sein, Zeilen mit Nullwerten mithilfe des Standardvergleichsoperators (=) abzurufen. Diese Anomalie ist auf die Einzigartigkeit des Nullwerts in SQL zurückzuführen.
Lassen Sie uns dies anhand eines Beispiels veranschaulichen:
SELECT pid FROM planets WHERE userid = NULL
Diese Abfrage Es wird erwartet, dass Zeilen zurückgegeben werden, in denen die Benutzer-ID-Spalte den NULL-Wert hat. In vielen Fällen wird jedoch ein leerer Satz zurückgegeben, obwohl die Daten in der Tabelle vorhanden sind (wie über phpMyAdmin überprüft).
Das Problem entsteht, weil null in SQL unterscheidet sich von anderen Werten. Nach einer der 12 Regeln von Codd kann null keinem anderen Wert entsprechen, auch nicht sich selbst. Folglich wird die Verwendung des =-Operators zum Vergleichen einer Spalte mit NULL immer „false“ zurückgeben.
Um erfolgreich Zeilen mit Nullwerten abzurufen, müssen wir den IS NULL-Operator verwenden :
SELECT pid FROM planets WHERE userid IS NULL
Durch die Verwendung von IS NULL prüfen wir, ob die Spalte wirklich null ist, anstatt zu versuchen, sie mithilfe von = mit NULL zu vergleichen Operator.
Es ist jedoch wichtig, andere Optionen auszuschöpfen, bevor Sie auf eine Änderung der Tabellenstruktur oder Engine zurückgreifen.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen mit NULL-Werten in MySQL effektiv abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!