Сделайте вставки в assign_students, ссылающиеся на только что вставленные строки из themes
(чтобы вы могли получить их автоматически сгенерированные идентификаторы) также:
BEGIN;
insert into themes (tutorID, year, theme_name, degreeID)
select themeID, year, work_name, degreeID from journal;
INSERT INTO assigned_students (studentID, tutorID, themeID, writing_language_id, work_typeID)
select j.studentID, j.tutorID, t.THEME_ID_COLUMN_NAME, 0, 4
from
journal j
inner join themes t on j.themeID = t.tutorid;
COMMIT
Здесь мы видим, что сначала мы делаем некоторые вставки в темы, и я предполагаю, что он автоматически сгенерирует некоторые идентификаторы для столбца pk тем.
Итак, мы присоединяем журнал к тем строкам, которые мы вставили, чтобы мы могли получить сгенерированные идентификаторы
Я не знаю, как называется столбец PK в themes
, поэтому вам придется заменить THEME_ID_COLUMN_NAME
на правильное значение
Обратите внимание, что вам может потребоваться указать дополнительные столбцы в on j.themeID = t.tutorid
, а не только tutorid, если это не уникально идентифицирует строку
I читайте также , что для автоинкрементных столбцов гарантируется, что идентификаторы являются последовательными, поэтому вы можете получить LAST_INSERTED_ID (), которая является самой последней вставленной строкой), а также ROW_COUNT и, следовательно, знать диапазон идентификаторов, которые были вставлены, и используйте их для выбора / объединения данных журнала