Heim >Datenbank >MySQL-Tutorial >Kann die Unique-Einschränkung von MySQL mehrere NULL-Werte verarbeiten?

Kann die Unique-Einschränkung von MySQL mehrere NULL-Werte verarbeiten?

DDD
DDDOriginal
2024-12-26 07:14:09762Durchsuche

Can MySQL's Unique Constraint Handle Multiple NULL Values?

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!

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