如何在表格中创建超级密钥?

时间:2013-12-08 11:20:40

标签: postgresql key pgadmin

创建表格时,如何在超级键下方的表格中同时创建 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。

1 个答案:

答案 0 :(得分:2)

您需要在两列上创建一个主键:

CREATE TABLE Enrolled
(
    sid integer,
    ccode varchar(6),
    CONSTRAINT enrolled_pkey PRIMARY KEY (sid, code)
);

但是,保留简单的serial类型主键通常是个好主意,只需使用例如对于需要唯一的字段或字段组合的UNIQUE约束。