当两个外键出现时,它必须是多对多的关系吗?

lau*_*kok 1 mysql sql database-design

这个问题可能很愚蠢,但我只是想确认一下我是否正确理解了基本理解,所以:

必须这是一个many to many relationship两个外键会出现在一个表?

或者当两个外键在表中时是否有任何其他条款/原因?

Mat*_*ick 6

没有.

反例:

create table eg1 (
  id int primary key,
  id1 int,
  id2 int,
  foreign key (id1) references othertable.id,
  foreign key (id2) references sometable.id,
  UNIQUE INDEX `id1_UNIQUE` (`id1` ASC)
);
Run Code Online (Sandbox Code Playgroud)

这不是一个多对多的关系,因为它id1是独一无二的.它有两个外键,但表示与另外两个表的1:n和1:1关系.