MySQL - вставить в три таблицы
Я недавно спросилэтот вопрос.
У меня есть реляционная база данных с тремя таблицами. Первый содержит id 'с, которые относятся ко второму. Второй содержит идентификаторс, которые относятся к третьему. Третий содержит результаты, которые я после.
Возможно ли с помощью одного запроса запросить идентификатор в первой таблице, который дает все результаты третьей таблицы, относящиеся к нему?
Мое выбранное решение было:
select * from table1 t1 объединить table2 t2 на t1.t2ref = t2.id объединить table3 t3 на t2.t3ref = t3.id
Добавьте предложение where для поиска определенных строк в table1
где t1.field = 'значение'
Мой новый вопрос:
Я понял, что мне нужно вставить в три таблицы тоже. Я имею в виду систему бронирования. Можно ли написать запрос, который вставляется в три таблицы непосредственно после того, как он их запрашивает (используя объединения?).
Еще одно соображение, которое у меня есть, должно ли я использовать транзакции, чтобы гарантировать, что два запроса выполняются одновременно ... оба считают, что id 's являются 'безоговорочное» а затем в результате двойного бронирования или есть более простой способ?