MySql 復合主鍵與聯合主鍵

2021-09-28 21:21:01 字數 1711 閱讀 3626

復合主鍵:資料庫表的主鍵由兩個及以上的字段組成。

create table `asm_device_config_info` (

`asmmodel` varchar(32) not null comment '自助機型號',

`devicetype` varchar(32) not null comment '外設型別',

`devicemodel` varchar(32) not null comment '外設型號',

`devicefactory` varchar(32) not null comment '外設廠商',

primary key (`asmmodel`,`devicetype`)

) engine=innodb default charset=utf8 comment='自助機外圍裝置配置資訊表';

聯合主鍵:多個主鍵聯合形成乙個主鍵的組合。

適用情景:當兩個資料表是多對多的關係,需要通過兩個資料表的主鍵來組成聯合主鍵,來確定一條記錄

student以studentid為主鍵

create table `student` (

`studentid` varchar(32) not null comment '學號',

`studentname` varchar(32) not null comment '姓名',

`studentgender` varchar(32) not null comment '性別',

`studentage` int default null comment '年齡',

primary key (`studentid`)

) engine=innodb default charset=utf8 comment='學生資訊表';

course以courseid為主鍵

create table `course` (

`courseid` varchar(32) not null comment '課程id',

`coursename` varchar(32) not null comment '課程名稱',

`coursecredit` varchar(32) not null comment '課程學分',

primary key (`courseid`)

) engine=innodb default charset=utf8 comment='課程資訊表';

student_course通過studentid與courseid確定主鍵id

create table `student_course` (

`id` int auto_increment comment '選課id',

`studentid` varchar(32) not null comment '學號',

`courseid` varchar(32) not null comment '課程id',

primary key (`id`)

) engine=innodb default charset=utf8 comment='學生選課表';

復合主鍵與聯合主鍵

含義 表的主鍵含有乙個以上的字段組成,不使用無業務含義的自增id作為主鍵。比如 create table test namevarchar 19 idnumber,valuevarchar 10 primarykey name,id 上面的name和id欄位組合起來就是你test表的復合主鍵 它的出...

復合主鍵與聯合主鍵

一 復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成,不使用無業務含義的自增id作為主鍵。比如 html view plain copy create table test name varchar 19 id number,value varchar 10 primary key ...

聯合主鍵和復合主鍵

聯合主鍵其實就是中間表。在多對多模型裡,需要兩個表中的主鍵組成聯合主鍵,這樣就可以查到兩個表中的每個資料。建立team表 create table team id mediumint auto increment comment team 主鍵 name varchar 10 comment tea...