Копировать таблицу MySQL со структурой и данными: LIKE и INSERT INTO … SELECT
Когда нужен полный дубликат
Иногда снимок нужен для экспериментов, миграции на отдельный инстанс или разовой операции перед сложным ALTER: удобно получить вторую таблицу с той же схемой и всем содержимым. В MySQL для этого традиционно комбинируют CREATE TABLE … LIKE и INSERT INTO … SELECT *.
Структура без строк
Клонирование определения (столбцы, индексы, параметры строки там, где движок это поддерживает для LIKE) без данных:
CREATE TABLE `destination_table` LIKE `source_table`;Имена таблиц указывайте с реальными префиксами платформы, если они используются в проекте. После этого новая таблица пуста, но готова к заполнению.
Перенести все строки
Когда структуры совпадают построчно, достаточно одного прохода:
INSERT INTO `destination_table` SELECT * FROM `source_table`;На больших объёмах учитывайте блокировки, журнал транзакций и возможность разбить перенос батчами по первичному ключу, если политики сопровождения это требуют.
Совмещённый минимальный сценарий
Типовая последовательность «копия за два шага» выглядит так:
CREATE TABLE `destination_table` LIKE `source_table`;
INSERT INTO `destination_table` SELECT * FROM `source_table`;Замечания на практике
AUTO_INCREMENTследующего значения послеINSERTна целевой таблице выставится движком исходя из фактических данных — при необходимости проверьте его отдельно.- Если колонки не совпадают по порядку или нужна выборочная копия, перечислите явный список полей и выражений вместо
*. - Права доступа должны включать создание объектов и вставку в целевую схему; на продакшене такие операции лучше планировать в окно без пиковой нагрузки.
В контексте «1С‑Битрикс»
Сами запросы не специфичны для CMS: их выполняют через консоль администрирования MySQL, миграцию или любой утилитарный вход к базе, которым вы уже пользуетесь для сопровождения проекта. Для задач изменения только схемы ORM см. также приёмы синхронизации полей после правок классов данных.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии