Как вывести дамп только результатов одной таблицы в базу данных в MySQL и реплицировать в другую удаленную пустую таблицу с той же структурой? - PullRequest
2 голосов
/ 25 апреля 2010

Это длинное предложение, кто-нибудь знает?

Ответы [ 2 ]

3 голосов
/ 25 апреля 2010

Для создания dump:

mysqldump --user [username] --password=[password] --no-create-info [database name] [table name] > /tmp/dump.sql

Для восстановления:

mysql --u [username] --password=[password] [database name] [table name] < /tmp/dump.sql
1 голос
/ 25 апреля 2010

Примерно так:

SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
WHERE 1=0

Я не уверен, что это работает с My SQL, но вы поняли.

Это не дублирует PK, FK, индексы, хранимые процедуры или что-либо еще. Только столбцы и типы данных.

W3Schools

D'о

Должно быть, я неправильно понял ваш вопрос. Уже почти 3 часа ночи.

Хорошо, так что, возможно, есть лучший способ сделать это, но это сделало бы работу.

SELECT  CONCAT('INSERT INTO (COL1, COL2) VALUES (',COL1,COL2,');');

Вам нужно будет добавить 'для некоторых типов данных, так что

SELECT  CONCAT('INSERT INTO (COL1, COL2) VALUES (',COL1,''' ''',COL2,');');

Взять вывод и запустить на удаленном дБ.

...