@lunsy
СНГшный "программист"

MySQL Как сделать Update и Insert на таблицы с LEFT JOIN?

У меня есть ряд связанных таблиц АВИАКомпании для операторов. И главная из них это schedules. Вот схема моего запроса на SELECT 5d3c8a0c99479496899040.png вот эта же схема на языке MySql

SELECT
  schedules.*,
  aircrafts.Name,
  aircrafts.ID,
  aircrafts.MakeModel,
  routes.ID,
  routes.DepartureAirportID,
  routes.ArrivalAirportID,
  airports.ID,
  airports.CountryID,
  airports.Name,
  countries.ID,
  countries.Name,
  airports_1.ID,
  airports_1.CountryID,
  airports_1.Name,
  countries_1.ID,
  countries_1.Name
FROM schedules
  LEFT JOIN routes
    ON schedules.RouteID = routes.ID
  LEFT JOIN airports
    ON routes.DepartureAirportID = airports.ID
 LEFT JOIN countries
    ON airports.CountryID = countries.ID
  LEFT JOIN aircrafts
    ON schedules.AircraftID = aircrafts.ID
  LEFT JOIN airports airports_1
    ON routes.ArrivalAirportID = airports_1.ID
  LEFT JOIN countries countries_1
    ON airports_1.CountryID = countries_1.ID


Мне нужно апдейтнуть (update) в таблице schedules время, дату, номер рейса, цену эконом класса, подтвержден или нет и самое сложное откуда прибыл и куда полетел. Тоже самое нужно сделать и для INSERT INTO т.е. добавить новую запись по этой же схеме все столбцы (время, дату, номер рейса, цену эконом класса, подтвержден) от schedules и добавить откуда прибыл и куда полетел. Как это сделать? 5d3c8eff9af6a050781427.png
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
erge
@erge
Примус починяю
т.к. БД нормализованна и данные хранятся в разных таблицах, то и обновлять и/или вставлять надо несколькими запросами в соответствующие таблицы в одной транзакции.
в shedules у вас только : время, дата, номер рейса, цена эконом класса, подтвержден
остальное в связанных таблицах, которые обновляются отдельными запросами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы