sql >> Databasteknik >  >> RDS >> Mysql

Ignorerar MySQL nollvärden på unika begränsningar?

Ja, MySQL tillåter flera NULLs i en kolumn med en unik begränsning.

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;

Resultat:

x
NULL
NULL
1

Detta är inte sant för alla databaser. SQL Server 2005 och äldre tillåter till exempel bara ett enda NULL-värde i en kolumn som har en unik begränsning.



  1. Hur extraherar man grupp från reguljärt uttryck i Oracle?

  2. Hur begränsar man NULL som parameter till lagrad procedur SQL Server?

  3. Komma igång med GearHost för MySQL-databasutveckling

  4. Få MySQL-databasutdata via PHP till XML