sql >> Databáze >  >> RDS >> Mysql

Ignoruje MySQL hodnoty null na jedinečných omezeních?

Ano, MySQL umožňuje více hodnot NULL ve sloupci s jedinečným omezením.

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;

Výsledek:

x
NULL
NULL
1

To neplatí pro všechny databáze. SQL Server 2005 a starší například povoluje pouze jednu hodnotu NULL ve sloupci, který má jedinečné omezení.



  1. Funkce DATEDIFF v Oracle

  2. Jak funguje LOAD_FILE() v MariaDB

  3. Chyby:Příkaz INSERT EXEC nelze vnořit. a Nelze použít příkaz ROLLBACK v příkazu INSERT-EXEC. jak to vyřešit?

  4. Jak nastavit národní prostředí pro aktuální připojení v MySQL