PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zezwól na wartość null w unikalnej kolumnie

To nieporozumienie.
UNIQUE ograniczenie działa dokładnie czego chcesz. Wiele NULL wartości mogą współistnieć w zdefiniowanej kolumnie UNIQUE .

Instrukcja:

Ogólnie ograniczenie przez unikalność jest naruszane, gdy w tabeli znajduje się więcej niż jeden wiersz, w którym wartości wszystkich kolumn objętych ograniczeniem są równe. Jednak w tym porównaniu dwie wartości null nie są uważane za równe. Oznacza to, że nawet w obecności unikalnego ograniczenia możliwe jest przechowywanie zduplikowanych wierszy zawierających wartość null w co najmniej jednym z ograniczonych słupów. To zachowanie jest zgodne ze standardem SQL, ale słyszeliśmy, że inne bazy danych SQL mogą nie przestrzegać tej zasady. Dlatego należy zachować ostrożność podczas tworzenia aplikacji, które mają być przenośne.

Pogrubiony nacisk na moje.

Pamiętaj, że typy znaków pozwalają na pusty ciąg ('' ), czyli nie NULL wartości i wywołałby unikalne naruszenie, tak jak każda inna wartość niepusta, gdy zostanie wprowadzona w więcej niż jednym wierszu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pula połączeń PostgreSQL:część 2 – PgBouncer

  2. Zwiększanie wydajności PostgreSQL dzięki HAProxy

  3. Nie można po prostu użyć nazwy tabeli PostgreSQL (relacja nie istnieje)

  4. Jak rzutować tablicę json na tablicę tekstową?

  5. Notacja z podwójnym dwukropkiem (::) w SQL