Подтвердить что ты не робот

Заполнение таблицы из результатов запроса (mysql)

Я хотел бы заполнить таблицу результатами запроса по существующей таблице. Как я могу это сделать?

4b9b3361

Ответ 1

(Вам не нужно сопоставлять схемы таблиц)

INSERT tbl_name (col1, col2)
    SELECT value1, value2
    FROM othertable

См. ссылку INSERT... SELECT Синтаксис

Ответ 2

insert into table_name ...
select * from table_name where ....

Целевая таблица и исходный запрос должны совпадать в количестве столбцов и типов данных

Смотрите ссылку

Ответ 3

Вы даже можете создавать таблицы таким образом, хотя имена столбцов должны совпадать или результаты выбора помещаются в автоматически добавленные столбцы:

mysql> create table foo ( id int primary key auto_increment, bar datetime )
    -> select now() as bar, now() as baz from dual;
Query OK, 1 row affected, 1 warning (0.06 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from foo;
+----+---------------------+---------------------+
| id | bar                 | baz                 |
+----+---------------------+---------------------+
|  1 | 2009-03-10 17:01:35 | 2009-03-10 17:01:35 |
+----+---------------------+---------------------+
1 row in set (0.00 sec)