Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro 1062

Boa noite Turma!

Tudo bem?

Rodei comando para apagar duplicatas e deu certo, porém quando rodo o comando

''

USE sucos;

ALTER TABLE tbproduto ADD PRIMARY KEY (PRODUTO); 

''

o erro 1062 persiste dizendo que ainda possui duplicatas.

Como consigo corrigir isso?

1 resposta
solução!

Olá, William, tudo bem?

De fato, o erro 1062 ocorre quando você tenta adicionar uma chave primária a uma tabela que ainda possui duplicatas.

Para solucionar, você precisa primeiro identificar as duplicatas e removê-las antes de adicionar a chave primária.

Você pode utilizar o seguinte comando:

SELECT PRODUTO, COUNT(*) FROM tbproduto GROUP BY PRODUTO HAVING COUNT(*) > 1;

No código acima, utilizamos a cláusula GROUP BY para encontrar os registros duplicados.

Em seguida, você pode criar uma tabela temporária ou usar subconsultas aninhadas para obter os produtos duplicados e, em seguida, referenciar essa estrutura na cláusula DELETE FROM. Aqui está um exemplo simplificado de como você poderia abordar isso:

DELETE FROM tbproduto WHERE PRODUTO IN (
    SELECT * FROM (
        SELECT PRODUTO FROM tbproduto GROUP BY PRODUTO HAVING COUNT(*) > 1
    ) AS produtos_duplicados
);

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!