2015-02-01 6 views
1

Я к базам данных MySQL DB1 и DB2, DB1 на сервере Интернет, и DB2 на локальной машине (LOCALHOST) Теперь я хочу, чтобы вставить данные в таблицу в DB2 с именем db2_table из Таблица DB1 с именем db1_table с использованием SQL QUERY. Так как это возможно?Как вставить данные из одной таблицы базы данных в другую таблицу базы данных?

+0

вам нужны два соединения: '$ con1' для' DB1', чтобы получить данные и '$ con2' для' DB2' для вставки данных, которые вы получаете из 'DB1' –

ответ

0

Я думаю, что это невозможно с одним SQL-запросом. SQL-Query может выполняться только на одном сервере, и он не знает второго сервера. Таким образом, вы должны сделать это с помощью приложения или использовать функции импорта и экспорта MySql Workbench или PHPMyAdmin.

Здесь вы можете найти очень похожий вопрос:

insert into a MySQL database on a different server

Надеется, что это поможет вам.

0

Возможно, возможно создать 2 одновременных соединения, как предложено @Being Human, и написать один запрос - что было бы идеальным. Однако метод ниже работает для меня.

1: сделайте файл дампа DB1 от интернет-сервера

mysqldump -u <db_username> -h <db_host> -p db_name table_name > backup.sql 

2: восстановление файла дампа для локального сервера и базы данных (восстановит же БД)

mysql -u<db_username> -p DB_NAME < backup.sql 

3: ВСТАВИТЬ в db2_table от db1_table

INSERT INTO DB2.db2_table (<col1>, <col2>, <col3>....) 
    SELECT <col1>, <col2>, <col3> ... 
    FROM db1_table; 

Обеспечение уверенности столбцы, возвращаемые подзапросом SELECT на db1_table, отображаются в столбцы в db2_table

Смежные вопросы