Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:UNIQUE, ale DEFAULT NULL - dozwolone przez utworzenie tabeli. Można wstawić więcej niż 1 NULL. Czemu?

Zgodnie ze specyfikacją SQL 92 (i sposobem, w jaki ją czytasz) ograniczenia unikatowe mają na celu oznaczenie kluczy kandydujących i dlatego nie powinny zezwalać na zduplikowane wartości ani Wartości NULL. DB2 implementuje w ten sposób ich unikalne ograniczenia. Więcej niż kilku dostawców baz danych (w tym MySQL) czyta tę specyfikację, ponieważ ignorując wartości NULL, podobnie jak klauzula Group By ignoruje wartości NULL, a zatem implementują unikalne ograniczenia, takie, że ma ona zastosowanie tylko do wartości innych niż NULL. Jeszcze inne traktują NULL jako własną specjalną wartość i zezwalają tylko na jeden wpis, który jest NULL. Microsoft SQL Server implementuje w ten sposób unikalne ograniczenia. Jedynym aspektem, który jest spójny wśród wszystkich dostawców w odniesieniu do unikalnych ograniczeń, jest to, że wartości inne niż NULL muszą być unikalne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób zarządzania datami w PHP, MySQL itp.?

  2. Jak stworzyć tabelę na podstawie zestawu wyników JDBC

  3. Jak zapisać do bazy danych wielu autorów w prostej tabeli książek?

  4. Sekcje pliku konfiguracyjnego Mysql

  5. Wyszukiwanie zbliżeniowe