创建表格时,如何在超级键下方的表格中同时创建 sid 和 ccode 列?:
Enrolled (sid integer, ccode varchar(6))
这是我尝试过的,但显然SQL不允许以这种方式声明多个主键:
CREATE TABLE Enrolled
(
sid integer,
ccode varchar(6),
CONSTRAINT enrolled_pkey1 PRIMARY KEY (sid),
CONSTRAINT enrolled_pkey2 PRIMARY KEY (ccode)
);
我正在使用pgAdmin3 - Postgres。
答案 0 :(得分:2)
您需要在两列上创建一个主键:
CREATE TABLE Enrolled
(
sid integer,
ccode varchar(6),
CONSTRAINT enrolled_pkey PRIMARY KEY (sid, code)
);
但是,保留简单的serial
类型主键通常是个好主意,只需使用例如对于需要唯一的字段或字段组合的UNIQUE约束。