Heim >Datenbank >MySQL-Tutorial >Wie geht MySQL mit Nullwerten mit eindeutigen Einschränkungen um?

Wie geht MySQL mit Nullwerten mit eindeutigen Einschränkungen um?

Barbara Streisand
Barbara StreisandOriginal
2024-12-07 00:45:12584Durchsuche

How Does MySQL Handle Null Values with Unique Constraints?

Eindeutige Einschränkungen und Nullwerte in MySQL

Beim Datenbankdesign werden häufig eindeutige Einschränkungen verwendet, um sicherzustellen, dass jede Zeile in einer Tabelle einen hat eindeutiger Wert für eine bestimmte Spalte oder einen Satz von Spalten. Es stellt sich jedoch die Frage: Geht MySQL bei der Durchsetzung dieser Einschränkungen anders mit Nullwerten um?

Nullwerte und eindeutige Einschränkungen in MySQL

Im Gegensatz zu einigen anderen relationalen Datenbankverwaltungssystemen ( RDBMSs) erlaubt MySQL mehrere Nullwerte innerhalb einer Spalte, die eine Eindeutigkeitsbeschränkung hat. Dies bedeutet, dass MySQL trotz der Eindeutigkeitsbeschränkung nicht verhindert, dass mehrere Zeilen Nullwerte für die angegebene Spalte enthalten.

Um dieses Verhalten zu veranschaulichen, betrachten Sie die folgende MySQL-Anweisung:

CREATE TABLE table1 (x INT NULL UNIQUE);

In diesem Beispiel wird die Spalte „x“ als Ganzzahl deklariert, die Nullwerte akzeptiert, und auf die Spalte wird eine Eindeutigkeitsbeschränkung angewendet. Das Ausführen der folgenden Einfügeanweisungen:

INSERT INTO table1 VALUES (1);
INSERT INTO table1 VALUES (1); -- Duplicate entry '1' for key 'x'
INSERT INTO table1 VALUES (NULL);
INSERT INTO table1 VALUES (NULL);

erzeugt das folgende Ergebnis:

SELECT * FROM table1;
x
NULL
NULL
1

Wie Sie sehen können, lässt MySQL trotzdem mehrere Nullwerte in der Spalte „x“ zu die Eindeutigkeitsbeschränkung. Dieses Verhalten unterscheidet sich von einigen anderen RDBMS, z. B. SQL Server 2005 und älter, die mehrere Nullwerte in Spalten mit eindeutigen Einschränkungen einschränken.

Das obige ist der detaillierte Inhalt vonWie geht MySQL mit Nullwerten mit eindeutigen Einschränkungen um?. 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