Heim >Datenbank >MySQL-Tutorial >Wie geht MySQL mit Nullwerten mit eindeutigen Einschränkungen um?
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!