[英]many to many relationship in MySQL
我有這個實體關系:
我想保存有關當前球隊和最后一支球隊的信息,我還要保存每個球隊的不同職位。
我創建此表:
球員表:
create table player(
codPlayer varchar(12) primary key,
name varchar(30) unique not null,
codCurrentTeam varchar(12),
position varchar(20),
foreign key (codCurrentTeam) references team(codTeam)
);
團隊表:
create table team(
codTeam varchar(12) primary key,
name varchar(40) unique not null
);
lastTeam表:
create table lastTeam(
startDate date,
finishDate date,
codTeam varchar(12),
codPlayer varchar(12),
constraint pkLastTeam primary key (codTeam,codPlayer),
foreign key (codTeam) references team(codTeam),
foreign Key (codPlayer) references jugador (codPlayer)
);
職位表:
create table position(
codPlayer varchar(12),
codLastTeam varchar(24),
position varchar(20),
primary key (codPlayer, codLastTeam),
foreign key (codPlayer) references jugador(codPlayer),
foreign key (codLastTeam) references lastTeam(pkLastTeam)
);
我可以創建除位置以外的所有表,mysql返回下一個錯誤:
錯誤代碼:1215。無法添加外鍵約束
也許我的圖表有一些錯誤,但是我不知道如何實現設計
問題是你沒有
在lastTeam t中創建表位置“ pkLastTeam”列
codPlayer varchar(12),
codLastTeam varchar(24),
position varchar(20),
primary key (codPlayer, codLastTeam),
foreign key (codPlayer) references jugador(codPlayer),
foreign key (codLastTeam) references lastTeam(pkLastTeam)
);
我想我可以解決這一問題增加新的atributte codPlayer1和codTeam,codPlayer1改變pkLastTeam。 該表將如下所示:
create table position(
codPlayer varchar(12),
codTeam varchar(12),
codPlayer1 varchar(12),
position varchar(20),
primary key (codPlayer, codTeam,codPlayer1),
foreign key (codPlayer) references player(codPlayer),
foreign key (codPlayer,codPlayer1) references lastTeam(codTeam,codPlayer)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.