sql >> Base de Datos >  >> RDS >> Mysql

¿MySQL ignora los valores nulos en restricciones únicas?

Sí, MySQL permite múltiples valores NULL en una columna con una restricción única.

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;

Resultado:

x
NULL
NULL
1

Esto no es cierto para todas las bases de datos. SQL Server 2005 y anteriores, por ejemplo, solo permiten un único valor NULL en una columna que tiene una restricción única.