Det kan bara finnas en primärnyckel per tabell - som indikeras av ordet "primär".
Du kan ha ytterligare UNIQUE
kolumner
gillar:
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
);
Kolumner som är (en del av) PRIMARY KEY
är märkta med NOT NULL
automatiskt.
Eller använd en tabellrestriktion istället för en kolumnrestriktion för att skapa en enda flerkolumn primärnyckel . Detta skiljer sig semantiskt från ovanstående:Nu är det bara kombinationen av båda kolumnerna måste vara unika, varje kolumn kan innehålla dubbletter för sig.
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)
);
Flerkolumn UNIQUE
begränsningar är också möjliga.
Bortsett från:Använd inte CaMeL-case-identifierare i Postgres. Använd lagliga identifierare med små bokstäver så att du aldrig behöver använda dubbla citattecken. Gör ditt liv enklare. Se: