Я создал две таблицы в моей базе данных 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;
Есть несколько конгрессов, и в каждом из них есть разные представители. Мне нужно создать другую таблицу, в которой будут присутствовать все представители, участвовавшие в данном конгрессе. Обратите внимание, что один представитель может быть частью различных конгрессов. У меня проблемы с внешними ключами и не знаю команд, необходимых для создания другой таблицы, которая соединяет две другие таблицы, которые уже были заполнены.
Чтобы представить это отношение "многие ко многим", вам нужна другая таблица, позвольте ей назвать " Representatives_Congresses
. Он часто называется таблицей соединения или таблицей соединений.
Он будет иметь только два столбца, representative_id
и congress_id
. В совокупности эти столбцы будут составлять первичный ключ вашей новой таблицы. Они также должны быть настроены как FK.
Чтобы указать, что представитель был на конгрессе, вставьте строку в эту таблицу с id
значениями представителя и конгресса. Чтобы удалить представителя из конгресса, удалите строку.