Eindeutige Einschränkung in MySQL: Nullwerte
In MySQL werden eindeutige Einschränkungen erzwungen, um die Eindeutigkeit von Werten in einer bestimmten Spalte zu gewährleisten. Beim Umgang mit E-Mail-Adressen kommt es jedoch häufig vor, dass Nullwerte zur Darstellung einer optionalen oder nicht bereitgestellten Adresse verwendet werden. Dies wirft die Frage auf:
Kann MySQL mehrere Nullwerte in einer Spalte mit einer eindeutigen Einschränkung zulassen?
Antwort:
Ja, MySQL lässt mehrere Nullwerte innerhalb einer Spalte zu, die eine eindeutige Einschränkung hat. Dieses Verhalten weicht von bestimmten anderen Datenbanksystemen ab.
Beispiel:
Die folgende SQL-Anweisung erstellt eine Tabelle mit dem Namen table1 mit einer ganzzahligen Spalte x, die als eindeutig definiert ist und zulässt Nullwerte:
CREATE TABLE table1 (x INT NULL UNIQUE);
Das Einfügen doppelter Nullwerte in diese Tabelle führt nicht zu einer Fehlermeldung Fehler:
INSERT table1 VALUES (1); INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x' INSERT table1 VALUES (NULL); INSERT table1 VALUES (NULL);
Das Ausführen einer Abfrage zum Abrufen aller Datensätze in Tabelle 1 führt zu folgendem Ergebnis:
SELECT * FROM table1;
x |
---|
NULL |
NULL |
1 |
Hinweis: Dieses Verhalten ist spezifisch zu MySQL. Andere Datenbanksysteme wie SQL Server 2005 und früher beschränken die Zulässigkeit eines einzelnen Nullwerts in Spalten mit eindeutigen Einschränkungen.
Das obige ist der detaillierte Inhalt vonKann die Unique-Einschränkung von MySQL mehrere NULL-Werte verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!