Může být pouze jeden primární klíč na tabulku – jak je označeno slovem „primární“.
Můžete mít další UNIQUE
sloupce
jako:
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
);
Sloupce, které jsou (jeho součástí) PRIMARY KEY
jsou označeny NOT NULL
automaticky.
Nebo použijte omezení tabulky místo omezení sloupce k vytvoření jednoho více sloupců primární klíč . To je sémanticky odlišné od výše uvedeného:Nyní pouze kombinace z obou sloupců musí být jedinečné, každý sloupec může obsahovat duplikáty samostatně.
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)
);
Vícesloupcové UNIQUE
omezení jsou také možná.
Stranou:V Postgresu nepoužívejte identifikátory případu CaMeL. Používejte legální identifikátory s malými písmeny, abyste nikdy nemuseli používat dvojité uvozovky. Usnadňuje vám život. Viz: