Вставка значений в более чем две таблицы с использованием одного запроса
-
23-09-2019 - |
Вопрос
Можно ли вставить значения в разные таблицы, используя MySQL Qyery ??
Нет правильного решения
Другие советы
Да, но вам нужно создавать пользовательские функции, которые вставляют значения в другие таблицы в качестве побочного эффекта.
Основная идея заключается в том, что вы хотите вставить результат функции в таблицу, которую вы вставляете другие данные
insert into table (resulting_value) values (my_function(parameters))
Вы можете прочитать больше о сохраненные функции из документации MySQL
Здесь нет один запрос, который может сделать это, но, если вы работаете с PHP, вы можете получить основной ключ последней вставленной строки, используя mysql_insert_id()
И тогда вы можете построить второй запрос с этим полем.
Вы можете сделать это с помощью триггера (ов) (то есть вы выпустите один оператор SQL INSERT, и последующие вставки выполняются в базе данных), пока долгое
- Ваши последующие значения вставки могут быть получены из значения предыдущей вставки
- Вы не возражаете против того, чтобы жить с проблемами, которые может привести к тому, что такой подход может привести к (неясные сообщения об ошибках, когда триггер терпит неудачу, безмолвные неудачи, проблемы с производительностью и т. Д.)
А Insert
Команда только позволяет вставить одну целевую таблицу данных ...
INSERT INTO target_table () VALUES();
При использовании триггеров можно сделать хороший обходной путь.