1
resposta

o codigo esta dando erro

12:00:43

INSERT INTO tabela_de_clientes SELECT * FROM sucos_vendas.tabela_de_clientes	

Error Code: 1062. Duplicate entry '1471156710' for key 'tabela_de_clientes.PRIMARY' 0.000 sec

estou adicionando o codigo : INSERT INTO tabela_de_clientes SELECT * FROM sucos_vendas.tabela_de_clientes; porem esta dando erro de duplicata

1 resposta

Ei, Diogo! Tudo bem?

Isso mesmo, o erro é sobre duplicatas para a chave 1471156710 na tabela_de_clientes, o que não é permitido, pois pode haver somente uma chave primária para cada registro na tabela.

Antes de tudo é preciso verificar os registros duplicados na tabela de origem que ja existem na tabela de destino. A consulta seria:

SELECT * FROM sucos_vendas.tabela_de_clientes
WHERE id IN (SELECT id FROM tabela_de_clientes);

Substitua id pelo nome da coluna que é a chave primária.

Depois, insira apenas os que ainda não existem:

INSERT INTO tabela_de_clientes
SELECT * FROM sucos_vendas.tabela_de_clientes AS novos
WHERE NOT EXISTS (
    SELECT 1 FROM tabela_de_clientes AS existentes
    WHERE existentes.id_cliente = novos.id_cliente
);

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada.

Bons estudos!

  Caso este post tenha lhe ajudado, por favor, marcar como solucionado