ВСТАВКА ВЫБОР
Синтаксис
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
Описание
С помощью INSERT ... SELECT, вы можете быстро вставить много строк в таблицу из одной или нескольких других таблиц. Например:
INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
tbl_name также можно указать в форме db_name.tbl_name (см. Квалификаторы идентификаторов). Это позволяет копировать строки между различными базами данных.
Если новая таблица имеет первичный ключ или уникальные индексы, вы можете использовать IGNORE, чтобы обрабатывать ошибки дублирования ключа во время запроса. Новые значения не будут вставлены, если уже существует идентичное значение.
REPLACE можно использовать вместо INSERT для предотвращения дубликатов в UNIQUE индексах путем удаления старых значений. В этом случае ON DUPLICATE KEY UPDATE нельзя использовать.
INSERT ... SELECT работает для таблиц, которые уже существуют. Чтобы создать таблицу для заданного набора результатов, вы можете использовать СОЗДАТЬ ТАБЛИЦУ ... ВЫБОР.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/insert-select/