Вставка значений в более чем две таблицы с использованием одного запроса

StackOverflow https://stackoverflow.com/questions/2145455

  •  23-09-2019
  •  | 
  •  

Вопрос

Можно ли вставить значения в разные таблицы, используя MySQL Qyery ??

Нет правильного решения

Другие советы

Да, но вам нужно создавать пользовательские функции, которые вставляют значения в другие таблицы в качестве побочного эффекта.

Основная идея заключается в том, что вы хотите вставить результат функции в таблицу, которую вы вставляете другие данные

insert into table (resulting_value) values (my_function(parameters))

Вы можете прочитать больше о сохраненные функции из документации MySQL

Здесь нет один запрос, который может сделать это, но, если вы работаете с PHP, вы можете получить основной ключ последней вставленной строки, используя mysql_insert_id() И тогда вы можете построить второй запрос с этим полем.

Вы можете сделать это с помощью триггера (ов) (то есть вы выпустите один оператор SQL INSERT, и последующие вставки выполняются в базе данных), пока долгое

  1. Ваши последующие значения вставки могут быть получены из значения предыдущей вставки
  2. Вы не возражаете против того, чтобы жить с проблемами, которые может привести к тому, что такой подход может привести к (неясные сообщения об ошибках, когда триггер терпит неудачу, безмолвные неудачи, проблемы с производительностью и т. Д.)

А Insert Команда только позволяет вставить одну целевую таблицу данных ...

INSERT INTO target_table () VALUES();

При использовании триггеров можно сделать хороший обходной путь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top