Você também pode tentar:
INSERT IGNORE
INTO table_1
SELECT *
FROM table_2
;
que permite que essas linhas em table_1 substituam aquelas em table_2 que possuem uma chave primária correspondente, enquanto ainda insere linhas com novas chaves primárias.
Alternativamente,
REPLACE
INTO table_1
SELECT *
FROM table_2
;
atualizará as linhas já na tabela_1 com a linha correspondente da tabela_2, enquanto insere linhas com novas chaves primárias.