Под рукой нет SQL сервера (возможны ошибки синтаксиса). Но следующий вопрос не давал бы мне спокойствия:
А если в таблице источнике (old) было удаление строки (то есть id записи идут не подряд для autoincrement поля) ? Корректно ли оно отработает (и нет ли подводных камней при переносе при вашей схеме) ?
Я бы делал так:
1) Создал целевую (new) таблицу без auto_increment поля
2) Скопировал в нее все данные INSERT `new_admin_logs` (SELECT * FROM `old_admin_logs`);
3) Повесил триггер на INSERT (для функционала auto_increment)
DELIMITER $$
CREATE TRIGGER auto_inc_new_admin_logs
BEFORE INSERT ON new_admin_logs FOR EACH ROW
BEGIN
DECLARE new1 INT;
SELECT max(id) into new1 FROM new_admin_logs;
SET NEW.id = new1 + 1;
END$$
P.S. Если таблиц много, можно отдельно завести таблицу для хранения последних значений автоинкремент полей
P.S.S. Я так переносил в Oracle старый (у которого нет Autoincrement полей) из MSSQL