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

Klucz podstawowy dla wielu kolumn w PostgreSQL?

Może być tylko jeden klucz podstawowy na tabelę – zgodnie ze słowem „podstawowy”.
Możesz mieć dodatkowe UNIQUE kolumny jak:

CREATE TABLE test(
   sl_no int PRIMARY KEY,  -- NOT NULL due to PK
   emp_id int UNIQUE NOT NULL,
   emp_name text,
   emp_addr text
);

Kolumny będące (częścią) PRIMARY KEY są oznaczone NOT NULL automatycznie.

Lub użyj ograniczenia tabeli zamiast ograniczenia kolumny, aby utworzyć pojedynczy wielokolumnowy klucz podstawowy . Różni się to semantycznie od powyższego:teraz tylko kombinacja obu kolumn musi być niepowtarzalna, każda kolumna może zawierać własne duplikaty.

CREATE TABLE test(
   sl_no int,     -- NOT NULL due to PK below
   emp_id int ,   -- NOT NULL due to PK below
   emp_name text,
   emp_addr text,
   PRIMARY KEY (sl_no, emp_id)
);

Wielokolumnowy UNIQUE możliwe są również ograniczenia.

Na marginesie:Nie używaj identyfikatorów CaMeL-case w Postgresie. Używaj legalnych identyfikatorów pisanych małymi literami, aby nigdy nie używać podwójnych cudzysłowów. Ułatwia Ci życie. Zobacz:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL, jak sprawdzić, które zapytania zostały uruchomione

  2. Zmień grupę zabezpieczeń w wystąpieniu bazy danych AWS RDS

  3. Zalecane podejście do wstawiania wielu wierszy za pomocą Castle ActiveRecord i ignorowania wszelkich duplikatów

  4. Wbudowane w Postgresql polecenie COPY z zapytaniem sparametryzowanym

  5. Eksportuj dane tabeli Postgresql za pomocą pgAdmin