这篇文章主要介绍MySQL中什么是数据表的复合主键,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

MySQL多字段主键又可以成为复合主键。复合主键也是主键的一种与主键具有相同的功能和定义。

什么是数据表的复合主键 ?

所谓的复合主键,就是指你表的主键含有一个以上的字段组成 。

例如:

create table test 
( 
   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 
)

上面的name和id字段组合起来就是你test表的复合主键
它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性
一般情况下,主键的字段长度和字段数目要越少越好

什么时候使用复合主键?

在一个主键不能唯一标识这个表中的记录的时候才使用复合主键

比如这种时候

商品品牌 商品型号
诺基亚   920
三星     NOTE2
诺基亚   8088

比如这样商品品牌可能有重复,都是诺基亚,但是诺基亚厂商生产的商品型号是不会重复的

也比如,可能好多品牌都有920这个型号,但是一个品牌只有一个920的型号

所以就靠这样的联合主键来确定这条记录的唯一性