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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-22 19:13:10160Durchsuche

How Does MySQL Handle Unique Constraints and Null Values?

Eindeutige Einschränkungen und Nullwerte in MySQL

Im Datenbankdesign werden eindeutige Einschränkungen verwendet, um sicherzustellen, dass eine bestimmte Spalte oder ein Satz von Spalten darin enthalten ist Eine Tabelle enthält nur unterschiedliche Werte. Allerdings ist es manchmal wünschenswert, Nullwerte in einer Spalte zuzulassen, die eine Eindeutigkeitsbeschränkung hat. In MySQL ist dies tatsächlich möglich.

MySQL ermöglicht mit einer Eindeutigkeitsbeschränkung, dass mehrere Zeilen in einer Spalte Nullwerte haben. Dies bedeutet, dass es möglich ist, doppelte Nullwerte in der Spalte zu haben, ohne die Einschränkung zu verletzen.

Um dieses Verhalten zu veranschaulichen, betrachten Sie das folgende Beispiel:

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;

Wenn Sie die obigen Anweisungen ausführen, MySQL fügt drei Zeilen in die Tabelle ein. Die erste Einfügeanweisung ist erfolgreich, da der Wert von „x“ eindeutig ist (1). Die zweite Einfügeanweisung schlägt fehl, da der Wert von „x“ (1) bereits vorhanden ist und die Eindeutigkeitsbeschränkung verletzt. Die dritte und vierte Einfügeanweisung sind jedoch erfolgreich, da der Wert von „x“ null ist, was unter einer eindeutigen Einschränkung in MySQL zulässig ist.

Das Ergebnis der SELECT-Anweisung zeigt die folgenden Zeilen an:

x
NULL
NULL
1

Es ist wichtig zu beachten, dass dieses Verhalten spezifisch für MySQL ist. Andere Datenbanken wie SQL Server 2005 oder älter erlauben nicht mehrere Nullwerte in einer Spalte mit einer eindeutigen Einschränkung. In solchen Szenarien erlauben sie normalerweise nur einen einzigen Nullwert.

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