sbh
@sbh

Как вставить запись в таблицу с внешними ключами?

Есть таблица с людьми, пускай такая:
***people***
id (INT, AI, PRIMARY KEY)
name (varchar(20), UNIQ_KEY)

таблица городов:

***cities***
id (INT, AI, PRIMARY KEY)
city_name (varchar(20), UNIQ_KEY)

таблица где эти 2 связываются между собой:

***statistics***
id (INT, AI, PRIMARY KEY)
id_people_name (INT, FOREIGN_KEY)
id_city_name (INT, FOREIGN_KEY)

Пускай в первых 2 таблицах есть какие-то данные.
Каким запросом вставить в 3 таблицу записи из 2 других???
  • Вопрос задан
  • 2868 просмотров
Пригласить эксперта
Ответы на вопрос 1
@link_irk
Связующая таблица должна хранить id записей двух других таблиц. У Вас же id_people_name, id_city_name, хоть и INT. Что мешает писать в statistics данные тем же INSERT?
Например, у Вас есть запись в
people: 123, Пушкин Александр
cicties: 252, Иркутск

Тогда получится
INSERT INTO `statistic`(`people_id`, `city_id`) VALUES(123, 252)

Я, конечно, допускаю что один человек может быть связан с несколькими городами, но вы уверены, что вам нужна связь именно M:N?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы