Eindeutige Einschränkungen und Nullwerte in MySQL
Man kann auf Szenarien stoßen, in denen es wünschenswert ist, die Eindeutigkeit einer Spalte zu erzwingen und gleichzeitig Nullwerte zuzulassen. In MySQL wird dieses Verhalten in bestimmten Fällen unterstützt.
Betrachten wir eine Spalte mit dem Namen „email“, die der Eindeutigkeitsregel entsprechen, aber auch Nullwerte aufnehmen sollte. Können in einem solchen Setup mehrere Null-E-Mails nebeneinander existieren?
Ja, MySQL lässt mehrere NULL-Werte in einer Spalte mit einer eindeutigen Einschränkung zu. Dies kann anhand eines einfachen Beispiels demonstriert werden:
CREATE TABLE table1 (x INT NULL UNIQUE); INSERT table1 VALUES (1); INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x' INSERT table1 VALUES (NULL); INSERT table1 VALUES (NULL); SELECT * FROM table1;
Ausgabe:
x NULL NULL 1
Wie dargestellt, können in MySQL mehrere Nullwerte in einer eindeutigen Spalte vorhanden sein. Dieses Verhalten gilt nur für MySQL und gilt möglicherweise nicht für andere Datenbankverwaltungssysteme. Beispielsweise erlauben SQL Server 2005 und frühere Versionen nur einen einzelnen NULL-Wert in einer Spalte mit einer eindeutigen Einschränkung.
Das obige ist der detaillierte Inhalt vonKönnen mehrere NULL-Werte in einer MySQL-Spalte mit einer UNIQUE-Einschränkung nebeneinander existieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!