如何在MySQL中创建一个包含两个独立表信息的“连接”表?

时间:2017-12-12 11:33:31

标签: mysql database foreign-keys

我在mysql数据库中创建了两个表,如:

CREATE TABLE Representative(
   id varchar(15),
   name varchar(40),
   PRIMARY KEY(id)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;



CREATE TABLE Congress(
   congress_id int,
   total_members int,
   PRIMARY KEY(congress_id)
   )ENGINE=InnoDB DEFAULT CHARSET=latin1;

有多个代表大会,每个代表大会都有不同的代表。我需要做的是创建另一个表,其中包含参与特定大会的每个代表。请注意,一个代表可以成为不同大会的一部分。我遇到了外键问题,并且不知道为了创建另一个连接已经填充的其他表的表所需的命令。

1 个答案:

答案 0 :(得分:0)

要表示这种多对多关系,您需要另一个表,我们称之为Representatives_Congresses。它通常称为连接表或连接表。

它只有两列,representative_idcongress_id。总而言之,这些列将构成新表的主键。它们也应该被设置为FK。

要表明代表人员在大会中,请在此表格中插入一行,其中包含代表和大会的id值。要从大会中删除代表,请删除该行。