1つしか存在できません テーブルごとの主キー-「primary」という単語で示されます。
追加のUNIQUE
列
のように:
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
);
PRIMARY KEY
(の一部)である列 NOT NULL
とマークされています 自動的に。
または、列制約の代わりにテーブル制約を使用して、単一のマルチカラム 主キー 。これは、上記とは意味的に異なります。現在、組み合わせのみです。 両方の列が一意である必要があり、各列は独自に重複を保持できます。
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)
);
複数列のUNIQUE
制約も可能です。
余談:PostgresではCaMeLケース識別子を使用しないでください。二重引用符を使用する必要がないように、有効な小文字の識別子を使用してください。あなたの人生を楽にします。参照: