如何在SQL数据库中创建唯一键和主键

167 阅读1分钟

如何在SQL数据库中创建唯一键和主键

有了用这个命令创建的表。

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

我们可以插入一个项目超过一次。

特别是,我们可以有重复相同值的列。

我们可以使用UNIQUE key约束来强制一个列只拥有唯一的值。

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL UNIQUE
);

现在,如果你试图添加 "Flavio "两次。

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');

你会得到一个错误。

ERROR:  duplicate key value violates unique constraint "people_name_key"
DETAIL:  Key (name)=(Flavio) already exists.

主键是一个唯一的键,它有另一个属性:它是我们在表中识别一行的主要方式。

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

例如,主键可以是用户列表中的一个电子邮件。

主键可以是一个唯一的id ,我们自动分配给每条记录。

不管这个值是什么,我们知道我们可以用它来引用表中的某一行。