Laut Nullwerten bedeutet der Wert Null in MySQL lediglich, dass keine Daten vorhanden sind. Der Nullwert unterscheidet sich vom Nullwert einiger Typen. Beispielsweise ist der Nullwert des Typs int 0 und der Nullwert des Strings ist "", aber sie enthalten trotzdem Daten und nicht Null. Wenn wir Daten speichern, erfassen wir die vorübergehend nicht verfügbaren Daten üblicherweise als Null, was bedeutet, dass wir derzeit keine gültigen Informationen bereitstellen können. Bei der Verwendung von null müssen wir jedoch auf einige Probleme achten. Die MySQL-Dokumentation erklärt dies wie folgt: Probleme mit null Fehleranfällige Punkte bei der Verwendung von NullNachfolgend erläutere ich die von MySQL-Mitarbeitern angegebenen fehleranfälligen Punkte zu Null. Personen, die mit MySQL nicht vertraut sind, können leicht Null- und Nullwerte verwechseln.
Beispielsweise sind die durch die folgenden beiden SQL-Anweisungen generierten Daten unabhängig mysql> INSERT INTO my_table (Telefon) VALUES (NULL); mysql> INSERT INTO my_table (Telefon) VALUES (''); Die erste SQL-Anweisung gibt lediglich an, dass die Telefonnummer im Moment nicht bekannt ist, und die zweite Anweisung gibt an, dass die Telefonnummer bekannt und als
Die logische Beurteilung von Null sollte separat behandelt werden Um zu bestimmen, ob ein Wert null ist, müssen Sie die spezielle Syntax
Wenn Sie = verwenden, um zu beurteilen, wird es immer falsch sein
Wenn Sie es beispielsweise so schreiben, wird das Ergebnis des Where-Tests niemals „true“ sein: Wählen Sie * aus meiner_Tabelle, wobei Telefon = NULL ist. Wenn Sie Null und andere Daten für Berechnungen verwenden, ist das Ergebnis immer Null, es sei denn, die MySQL-Dokumentation enthält zusätzliche spezielle Anweisungen für bestimmte Vorgänge.
Zum Beispiel: mysql> SELECT NULL, 1+NULL, CONCAT('Unsichtbar',NULL); +------+--------+--------------------------+ | NULL | 1+NULL | CONCAT('Unsichtbar',NULL) | +------+--------+--------------------------+ | NULL | NULL | NULL | +------+--------+--------------------------+ 1 Zeile im Satz (0,00 Sek.) Wenn Sie also eine logische Beurteilung von Null vornehmen möchten, verwenden Sie einfach Um nach NULL-Werten zu suchen, müssen Sie den IS NULL-Test verwenden Das Indizieren von Spalten mit Nullwerten erfordert zusätzliche Vorwegnahme versteckter DetailsNur die Speicher-Engines InnoDB, MyISAM und MEMORY unterstützen die Indizierung von Spalten mit Nullwerten.
Die Länge des Indexes ist um 1 größer als der normale Index, was bedeutet, dass er etwas mehr Speicher verbraucht. Aufgrund des Schlüsselspeicherformats ist die Schlüssellänge für eine Spalte, die NULL sein kann, um eins größer als für eine NOT NULL-Spalte. Gruppierung, Deduplizierung und Sortierung von Nullwerten werden speziell behandeltIm Gegensatz zur obigen Aussage, dass =null immer falsch ist, wird null als gleich betrachtet.
Das Sortieren von Nullwerten wird gesondert behandelt.Nullwerte werden entweder zuerst oder zuletzt sortiert.
Null wird bei Aggregationsvorgängen ignoriert
Beispielsweise zählt count(*) keine Daten mit einem Nullwert.
mysql> SELECT COUNT(*), COUNT(Alter) FROM Person; Oben sind einige häufige Fehler in MySQL null aufgeführt. Weitere Informationen zu MySQL null finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Was Sie beim Schreiben selbstschließender XHTML-Tags beachten sollten
>>: 18 Killer-JavaScript-Einzeiler
Vorwort Bei Verwendung der MySQL-Datenbank muss s...
Verwenden Sie Textausrichtung, Rand: 0 automatisc...
Jeder, der das Linux-System verwendet hat, sollte...
Inhaltsverzeichnis Vorwort Wie kapselt Antd Kompo...
Methode 1: Verwenden Sie den cmd-Befehl Öffnen Si...
Das Erlernen von Linux-Befehlen stellt für die me...
Closure-Implementierung privater Variablen Privat...
1. Replikationsprinzip Der Masterserver schreibt ...
Laden Sie das RPM-Installationspaket herunter Off...
Inhaltsverzeichnis Docker-Bereitstellung Always o...
Zusammenfassung: Welche Methode sollte für die My...
<br />Der Inhalt wurde aus dem Internet repr...
Das Schreiben von XHTML erfordert eine saubere HTM...
In diesem Artikel wird der spezifische Code von J...
Fehlerbeschreibung percona5.6, mysqldump vollstän...