代码之家  ›  专栏  ›  技术社区  ›  DryBones

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

  •  0
  • DryBones  · 技术社区  · 8 年前

    我在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 回复  |  直到 8 年前
        1
  •  0
  •   O. Jones    8 年前

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

    它只有两列, representative_id 和 congress_id . 总之,这些列将构成新表的主键。它们也应设置为FKs。

    若要指示代表参加了国会,请在此表中插入一行 id 代表和国会的价值观。要从国会中罢免该代表,请删除该行。