如何使用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"
也成为主键。
答案 0 :(得分:27)
每个表只能有一个主键。这就是" primary"提示。
您可以有其他UNIQUE
columns。
CREATE TABLE test(
sl_no int PRIMARY KEY, -- NOT NULL automatically
emp_id int UNIQUE NOT NULL,
emp_name text,
emp_addr text
);
或者要使单个multicolumn primary key,使用表约束而不是列约束:
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案例标识符。永远。让您的生活更轻松。
答案 1 :(得分:0)
我认为可以。
Create table "Test"
(
"SlNo" int ,
"EmpID" int ,
"Empname" text),
"EmpAddress" text,
PRIMARY KEY (SlNo, EmpID)
);