У меня есть таблица подкачки с этой структурой (показывая один пример строки):
title | author_firstname | author_lastname | genre
------------+------------------+-----------------+-----------
the promise | robert | crails | thriller
В другой таблице genre
у меня все книжные жанры. Я хочу вставить идентификатор соответствующего жанра в третью таблицу book
. Заголовок книги был вставлен с этим запросом:
INSERT INTO book(title) SELECT title FROM swap_book;
Структура таблицы книги:
id | title | genre_id
Мне нужно сделать это с помощью чайника и для каждой строки в таблице подкачки
Я предполагаю, что имя жанра в таблице жанров-genrename.
Предполагая
genre
таблицу как:Вы можете сделать
UPDATE
:Это требует
title
, чтобы быть уникальным в обеих таблицах.Очевидно, что лучше сделать это все в одном
INSERT
вместо:Я использую
LEFT JOIN
для сохранения строки, если не найден соответствующий жанр.genre_id
В этом случае вы получаете NULL for. Тот же результат, что и послеUPDATE
вышесказанного.В зависимости от ваших секретных требований могут быть и другие варианты …