MySQL唯一键和主键

MySQL唯一键和主键

用下面的命令创建一个表:

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。

无论这个值是什么,我们都可以使用它来引用表中的一行。

(0)
上一篇 2020年10月23日 下午11:53
下一篇 2020年10月24日 下午10:55

相关推荐

发表回复

登录后才能评论