假设团队和玩家之间存在多对多的关系。这是由以下的表建模:多对多关系 - 自动删除孤儿
create table team
(
identifier integer primary key
);
create table player
(
identifier integer primary key
);
create table member
(
team_identifier integer,
player_identifier integer,
primary key(team_identifier, player_identifier),
foreign key(team_identifier) references team on update cascade on delete cascade,
foreign key(player_identifier) references player on update cascade on delete cascade
);
假设以下数据:
insert into team values(1);
insert into team values(2);
insert into player values(1);
insert into member values(1, 1);
insert into member values(2, 1);
让我们删除团队:
delete from team where identifier = 1;
delete from team where identifier = 2;
现在我们有没有一个团队的球员。有没有办法自动删除这个播放器?也就是说,当一个团队的删除导致一个孤儿玩家时,这个玩家也应该被删除(但不是相反)。
这并不真正回答我的问题。我希望孤儿球员在删除球队后自动删除**。 –