Мой вопрос немного длинный, я сожалею об этом.Как вставить значения в таблицу соединений?
Я добавляю значения в свои две таблицы, используя приведенный ниже код, но у меня также есть таблица соединений book_cover, и я хочу добавить данные в эту таблицу, чтобы установить связь между book_id и metadata_image_id (так как книга имеет более одного обложки), как я могу это сделать, когда я добавляю записи в первый раз?
Я не мог подключиться, хотя я читал о соединениях.
Я использую MySQL и InnoDB.
Вот мой PHP код для добавления данных:
$stmt = $sqli->prepare("INSERT INTO book(book_original_name, book_publication_date, book_synopsis) VALUES (?,?,?,?)");
$stmt->bind_param("sss", $_POST['book_original_name'], $_POST['book_year'], $_POST['book_synopsis']);
$stmt->execute();
$stmt->close();
$stmt = $sqli->prepare("INSERT INTO metadata_images(metadata_image_value, type, size) VALUES (?,?,?)");
$stmt->bind_param("sss", $name, $_FILES['book_cover']['type'], $_FILES['book_cover']['size']);
$stmt->execute();
$stmt->close();
Например, когда я добавил книгу, которая имеет идентификатор 50 и metadata_image имеет идентификатор 92, я также хочу добавить book_id и metadata_image_id к моей таблице соединений, чтобы создать связь между конкретной книгой и изображением. Какой SQL-запрос я должен использовать для достижения этого?
Моя структура базы данных:
Table : book
book_id (PK and AI)
book_original_name
book_publication_date
book_synopsis
Table : metadata_images
metadata_image_id (PK and AI)
metadata_image_value
type
size
Junction Table : book_cover
book_id (Foreign key from book)
book_metadata_id (Foreign key from metadata_images)
Другое 'INSERT'? –
Я вижу, но как я могу позволить моему вставить запрос узнать, какой идентификатор был добавлен в другие таблицы перед ним? – salep
Только ** вы ** знаете реальность своих данных. Точно так же, как вы знали, что положить в первые две таблицы **, вы ** должны знать, что нужно вставить в третью. Пока вы не заселяете все три таблицы, нет ** ссылки **. –