我在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;
有多个代表大会,每个代表大会都有不同的代表。我需要做的是创建另一个表,其中包含参与特定大会的每个代表。请注意,一个代表可以成为不同大会的一部分。我遇到了外键问题,并且不知道为了创建另一个连接已经填充的其他表的表所需的命令。
答案 0 :(得分:0)
要表示这种多对多关系,您需要另一个表,我们称之为Representatives_Congresses
。它通常称为连接表或连接表。
它只有两列,representative_id
和congress_id
。总而言之,这些列将构成新表的主键。它们也应该被设置为FK。
要表明代表人员在大会中,请在此表格中插入一行,其中包含代表和大会的id
值。要从大会中删除代表,请删除该行。