Как создать таблицу «соединения» с информацией о двух отдельных таблицах в MySQL?

0

Я создал две таблицы в моей базе данных 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;

Есть несколько конгрессов, и в каждом из них есть разные представители. Мне нужно создать другую таблицу, в которой будут присутствовать все представители, участвовавшие в данном конгрессе. Обратите внимание, что один представитель может быть частью различных конгрессов. У меня проблемы с внешними ключами и не знаю команд, необходимых для создания другой таблицы, которая соединяет две другие таблицы, которые уже были заполнены.

Теги:
database
foreign-keys

1 ответ

0
Лучший ответ

Чтобы представить это отношение "многие ко многим", вам нужна другая таблица, позвольте ей назвать " Representatives_Congresses. Он часто называется таблицей соединения или таблицей соединений.

Он будет иметь только два столбца, representative_id и congress_id. В совокупности эти столбцы будут составлять первичный ключ вашей новой таблицы. Они также должны быть настроены как FK.

Чтобы указать, что представитель был на конгрессе, вставьте строку в эту таблицу с id значениями представителя и конгресса. Чтобы удалить представителя из конгресса, удалите строку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню