INSERT INTO `new_table` (name, surname, email)
(SELECT name, email, surname FROM `old_table`);
Будьте осторожны, когда разрешаете MySQL автоматически назначать новые идентификаторы в случае, если есть отношения из других таблиц, которые вам также необходимо переместить.
В таких случаях я перемещу все данные, добавив известное смещение к идентификатору, которое будет достаточно большим, чтобы избежать конфликтов идентификаторов в целевой таблице. Поскольку смещение известно, я смогу применить то же смещение при перемещении отношений (к целевой таблице) из других таблиц.
Редактирование на основе редактирования вопроса : я настоятельно рекомендую избегать "общего подхода". Может показаться педантичным необходимость писать все поля, но это единственный способ избежать ошибок и, конечно же, проблемы коллизий идентификаторов. Если вы хотите избежать ввода имен полей (поскольку это скучно и подвержено ошибкам), вы можете скопировать и вставить имена полей из show create table new_table
.