MySQL создает отношения при вставке данных в разные таблицы - PullRequest
1 голос
/ 28 ноября 2011

Итак, у меня есть эти таблицы (я упросту реальную структуру):

+----------------+   +----------------+
| CLIPS          |   | AUTHORS        |
+----------------+   +----------------+
| CLIP_ID        |   | AUTHOR_ID (PK) |
| LINK           |   | AUTHOR         |
| AUTHOR_ID (FK) |   | TITLE_ID (FK)  |
| TITLE_ID (FK)  |   +----------------+
| GENRE_ID (FK)  |
+----------------+

+----------------+   +----------------+
| TITLES         |   | GENRES         |
+----------------+   +----------------+
| TITLE_ID (PK)  |   | GENRE_ID (PK)  |
| TITL           |   | GENRE          |
+----------------+   +----------------+ 

Как мне установить отношения при вставке данных в эти таблицы (любая помощь приветствуется, прямые или учебные ссылки)?

Когда я вставляю Майкла Джексона в авторов, триллер в заголовки и ссылки на музыкальные клипы в клипы, у меня могут быть все эти записи, связанные (например) с одним и тем же идентификатором клипа.

Пример: клип с идентификатором 2312123 - триллер Майкла Джексона [ссылка]

Спасибо

1 Ответ

4 голосов
/ 28 ноября 2011

Сначала вы вставляете автора, название и жанр и извлекаете первичные ключи для вновь вставленных строк. Чтобы получить первичные ключи, может помочь что-то вроде этого: http://php.net/manual/en/function.mysql-insert-id.php

Затем вы используете первичные ключи, чтобы вставить строку в клипы. Таблица клипов зависит от других таблиц, поэтому вам необходимо сначала заполнить их.

В качестве дополнительного совета, таблицы базы данных должны быть названы в единственном числе (например, Автор, Клип и т. Д.). Таблица моделирует сущность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...