MySql多字段主键又可以成为复合主键,复合主键也是主键的一种与主键具有相同的功能和定义,所谓的复合主键,就是指表的主键含有一个以上的字段组成 。

d6a611389884d0c31b4ea9bd74eadda5.png

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的型号

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐