Heim >Datenbank >MySQL-Tutorial >Können mehrere NULL-Werte in einer MySQL-Spalte mit einer UNIQUE-Einschränkung nebeneinander existieren?

Können mehrere NULL-Werte in einer MySQL-Spalte mit einer UNIQUE-Einschränkung nebeneinander existieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-07 17:36:17470Durchsuche

Can Multiple NULL Values Coexist in a MySQL Column with a UNIQUE Constraint?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn