MySQL查询之 联合主键

我们知道MySQL的主键是一个非空的,且唯一的键,如果我们需要两个或者多个呢

create table stu(
	id int,
	name varchar(20),
	score int,
	primary key(id, name)
);

这样我们创建了一个有两个主键的表
我们来插入数据

insert into stu values (1, 'zhangsan', 80);

然后再插入有一条数据

insert into stu values (1, 'zhangsan', 80);

会发现报错
在这里插入图片描述
我们这样插入,发现居然插入成功了,联合主键只要两个不全一样就可以

insert into stu values (2, 'zhangsan', 80);

MySQL查询之 联合主键_第1张图片
另外我们可以发现,联合主键的任何一个都不可为空
在这里插入图片描述

你可能感兴趣的:(mysql)