Executando verificação de segurança...
1

Se você precisar fazer isso para muitas linhas, acredito que seja mais interessante criar um script em Python, Node ou PHP para fazer uma única consulta com todos os dados que você precisa da tabela A para inserir na tabela B (sem usar o mesmo id) iterando os dados com um loop e inserindo na tabela B. Mas eu faria um START TRANSACTION antes do laço e um COMMIT depois do laço se der tudo certo. Se der errado, faria um comando ROLLBACK. A maioria das bibliotecas para manipulação de banco de dados já devem ter estas funções.

Mas para fazer com um único registro em SQL, fiz um exemplo bem simples no SQL Fiddle.
http://sqlfiddle.com/#!9/4a9f5f/1

Acredito que seja algo deste tipo.


-- cria a tabela clientes
CREATE TABLE clientes (
    id int NOT NULL AUTO_INCREMENT,
    nome varchar(255) NOT NULL,
    idade int NOT NULL,
    PRIMARY KEY (id)
);
   
-- insere alguns clientes
INSERT INTO clientes
    (`id`, `nome`, `idade`)
VALUES
    (1, 'Jhon', 38),
    (2, 'Lucas', 25),
    (3, 'Bruno', 40),
    (4, 'João', 20)
;

-- cria a tabela clientes_antigos
CREATE TABLE clientes_antigos (
    id int NOT NULL AUTO_INCREMENT,
    nome varchar(255) NOT NULL,
    idade int NOT NULL,
    PRIMARY KEY (id)
);

-- insere um cliente
INSERT INTO clientes_antigos
    (`id`, `nome`, `idade`)
VALUES
    (1, 'Ernandes', 51)
;

-- copia Bruno de clientes para clientes_antigos sem copiar o ID
INSERT INTO clientes_antigos
(
    nome, idade
)
SELECT nome, idade
FROM clientes
WHERE clientes.id = 3;

-- mostra as duas tabelas completas
select * from clientes;
select * from clientes_antigos;
Carregando publicação patrocinada...