我在postgresql 创建表页面上看到了这个:
CREATE TABLE films (
code char(5),
title varchar(40),
did integer,
date_prod date,
kind varchar(10),
len interval hour to minute,
CONSTRAINT code_title PRIMARY KEY(code,title)
);
Run Code Online (Sandbox Code Playgroud)
我得到了约束,CHECK (price > 0)但我不知道这意味着什么是主键传递代码和标题像参数.
这个设置是否都是主键?
是否可以有两个主键?
这不是两个主键,它是一个复合主键.
这意味着,主键由两列的code和title(因此code_title约束名).
因此,虽然您可以拥有包含重复代码和重复标题的行,但是没有两行可以具有相同的code/title组合:
code title
---- -----
0000 aaaaa Okay.
0000 bbbbb Okay.
1111 bbbbb Okay.
0000 aaaaa ** No! Conflicts with first row. **
Run Code Online (Sandbox Code Playgroud)