聯合主鍵和復合主鍵

2021-10-23 02:59:41 字數 1406 閱讀 7407

聯合主鍵其實就是中間表。在多對多模型裡,需要兩個表中的主鍵組成聯合主鍵,這樣就可以查到兩個表中的每個資料。

# 建立team表

create

table team (

id mediumint

auto_increment

comment

'team 主鍵'

, name varchar(10

)comment

'team name'

,primary

key(id)

)engine

=innodb

,charset

= utf8;

# 建立info表

create

table info (

id mediumint

auto_increment

comment

'info 主鍵'

, name varchar(30

)comment

'姓名'

,primary

key(id)

)engine

=innodb

,charset

= utf8;

# 聯合主鍵 可以通過這張表查詢team和info兩個表的主鍵id 並查詢兩表的資料。

create

table

ifnot

exists team_info (

id mediumint

auto_increment

comment

'team_info 主鍵--聯合主鍵'

, info_id mediumint

comment

'info 主鍵'

, team_id mediumint

comment

'team 主鍵'

,primary

key(id)

)engine

=innodb

,charset

=utf8;

復合主鍵相對好理解:假設 1班 有個叫張三的人,二班也有叫張三的人;如果此時通過name當主鍵 肯定會報錯,如果用班級+姓名做復合主鍵,也就沒有問題。(此案例不嚴謹,僅作思路)

create

table stu(

class varchar(20

)comment

'班級'

, name varchar(10

)comment

'姓名'

,primary

key(class,name)

)

聯合主鍵和復合主鍵區別

什麼是資料表的復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成 比如 create table test name varchar 19 id number,value varchar 10 primary key name,id 上面的name和id欄位組合起來就是你test表的復...

聯合主鍵和復合主鍵區別

什麼是資料表的復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成 比如 create table test name varchar 19 id number,value varchar 10 primary key name,id 上面的name和id欄位組合起來就是你test表的復...

3 聯合主鍵和復合主鍵

聯合主鍵 復合主鍵 其實 主鍵是唯一的索引 這話有點歧義的。舉個例子,我們在表中建立了乙個id欄位,自動增長,並設為主鍵,這個是沒有問題的,因為 主鍵是唯一的索引 id自動增長保證了唯一性,所以可以。此時,我們再建立乙個欄位name,型別為varchar,也設定為主鍵,你會發現,在表的多行中你是可以...