Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ignoriert MySQL Nullwerte bei eindeutigen Einschränkungen?

Ja, MySQL erlaubt mehrere NULL-Werte in einer Spalte mit einer eindeutigen Einschränkung.

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;

Ergebnis:

x
NULL
NULL
1

Dies gilt nicht für alle Datenbanken. SQL Server 2005 und älter erlaubt zum Beispiel nur einen einzelnen NULL-Wert in einer Spalte, die eine Unique-Einschränkung hat.