Обновление/Вставка в несколько таблиц данные одним запросом?
У меня есть две таблицы: global, users
Мне нужно одним запросом либо обновить существующие данные в обеих таблицах либо создать новые записи.
В таблице global есть колонка id которая генерируется автоматически базой при вставке новых записей.
users так-же содержит id который относится к айди из global.
Дополнительно:
не нужно
Мне нужно одним запросом либо обновить существующие данные в обеих таблицах либо создать новые записи.
А откуда требование "одним запросом"? Есть особый тайный смысл?
И вам всегда подскажут что надо делать, когда кажется.
Ответы:
транзакция
Триггер: после (или до) действий с одной таблицей, выполняет действия во второй.
Хранимая процедура: получая данные как параметры, разносит их по обоим таблицам.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для обновления или вставки данных в несколько таблиц одним запросом в MySQL можно воспользоваться оператором JOIN. Этот метод позволяет объединить несколько таблиц для выполнения операций обновления или вставки данных.
Для обновления данных в нескольких таблицах одним запросом можно использовать следующий синтаксис:
В этом запросе мы объединяем две таблицы (table1 и table2) по ключу id и обновляем значения столбцов column1 и column2 в каждой из таблиц.
Для вставки данных в несколько таблиц одним запросом можно воспользоваться следующим синтаксисом:
В этом примере мы сначала вставляем данные в table1 и сохраняем ID в переменной @last_id с помощью функции LAST_INSERT_ID(). Затем мы используем это значение для вставки данных в table2.
Таким образом, использование оператора JOIN и переменных позволяет обновлять или вставлять данные в несколько таблиц одним запросом в MySQL.