Es kann nur eine geben Primärschlüssel pro Tabelle – wie durch das Wort „primary“ angegeben.
Sie können zusätzliche UNIQUE
Spalten
wie:
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
);
Spalten, die (ein Teil von) dem PRIMARY KEY
sind sind mit NOT NULL
gekennzeichnet automatisch.
Oder verwenden Sie eine Tabellenbeschränkung anstelle einer Spaltenbeschränkung, um einen einzelnen mehrspaltig Primärschlüssel . Dies ist semantisch anders als oben:Jetzt nur noch die Kombination beider Spalten muss eindeutig sein, jede Spalte kann Duplikate für sich enthalten.
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)
);
Mehrspaltig UNIQUE
Beschränkungen sind ebenfalls möglich.
Beiseite:Verwenden Sie in Postgres keine CaMeL-Case-Identifikatoren. Verwenden Sie zulässige Bezeichner in Kleinbuchstaben, damit Sie niemals doppelte Anführungszeichen verwenden müssen. Macht Ihr Leben einfacher. Siehe: