Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL игнорира ли нулеви стойности при уникални ограничения?

Да, MySQL позволява множество NULL числа в колона с уникално ограничение.

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;

Резултат:

x
NULL
NULL
1

Това не е вярно за всички бази данни. SQL Server 2005 и по-стари, например, позволяват само една стойност NULL в колона, която има уникално ограничение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мигриране на Google Cloud SQL за MySQL към On-Prem сървър

  2. Настройка на външни ключове в phpMyAdmin?

  3. Използване на mysql concat() в клауза WHERE?

  4. LIMIT ключова дума в MySQL с подготвено изявление

  5. Как да промените имената на MySQL таблици в Linux сървър, така че да не са чувствителни към главни букви?