Как дублировать таблицу с ключами и другими функциями структуры, сохраненными в MySQL? - PullRequest
8 голосов
/ 22 ноября 2011

Как дублировать таблицу с сохранением ключей и других структурных особенностей? включая первичный ключ, внешние ключи и индексы.

Можно ли это сделать одним запросом MySQL?

Я использую «создать новую таблицу как select ...», но этот метод приводит к потере всех ключей и индексов.

Ответы [ 3 ]

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

Дублирование таблицы из другой таблицы (с индексацией и структурой) не может быть выполнено с помощью одного запроса, вам потребуется 2 запроса.

1) Для создания дубликата таблицы.

CREATE TABLE Table2 LIKE Table1;

Это создаст точную копию таблицы.

2) Заполните дубликаттаблица со значениями из исходной таблицы.

INSERT INTO Table2 SELECT * from Table1;

заполнит Таблицу 2 всеми записями из Таблицы1

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

вы можете сделать это в этом запросе

CREATE TABLE a LIKE b

после того, как вы можете вставить

INSERT INTO a SELECT * FROM b

подробнее в этой статье

0 голосов
/ 21 февраля 2017

Следующий запрос создает и дублирует данные.

CREATE TABLE table2 SELECT * FROM table1

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