PostgreSQLを使用して単一のテーブルの複数の列に主キーを提供するにはどうすればよいですか?
例:
Create table "Test"
(
"SlNo" int not null primary key,
"EmpID" int not null, /* Want to become primary key */
"Empname" varchar(50) null,
"EmpAddress" varchar(50) null
);
注:"EmpID"
も主キーにしたいです。
テーブルごとに存在できる主キーは1つのみです。それが「プライマリー」という言葉が示唆していることです。
追加の UNIQUE
列 を持つことができます。
CREATE TABLE test(
sl_no int PRIMARY KEY, -- NOT NULL automatically
emp_id int UNIQUE NOT NULL,
emp_name text,
emp_addr text
);
または、それを単一の multicolumn主キー にするには、列制約の代わりにテーブル制約を使用します。
CREATE TABLE test(
sl_no int, -- NOT NULL automatically
emp_id int , -- NOT NULL automatically
emp_name text,
emp_addr text,
PRIMARY KEY (sl_no, emp_id)
);
余談ですが、私のアドバイスは、PostgresでCaMeLケース識別子を使用しないことです。これまで。あなたの人生を楽にします。