Mysql Создать таблицу (выбрать) запрос кросс-сервер - PullRequest
2 голосов
/ 22 ноября 2011

У меня проблемы с созданием запроса, который пересекает серверы.Вот запрос, который я получил, но я не могу установить соединение (да, я специально пропустил имена БД).

CREATE TABLE myTargetTable (SELECT * FROM mySourcetable)

Ответы [ 2 ]

2 голосов
/ 22 ноября 2011

В этом случае вам может помочь FEDERATED механизм хранения .

0 голосов
/ 22 ноября 2011

Это потому, что вы не можете запустить SQL-запрос на двух разных серверах (экземпляры mysql). Вы можете выполнить запрос к нескольким базам данных в одном экземпляре, добавив имя таблицы в таблицы. В вашем случае, предполагая, что myTargetTable находится в db1, а mySourcetable находится в db2, запрос будет CREATE TABLE db1.myTargetTable (SELECT * FROM db2.mySourcetable) но это не сработает, если db1 и db2 находятся в двух разных случаях. Возможно, вы можете попробовать использовать mysqldump для выгрузки вашей таблицы из db1 и загрузки ее в db2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...