Ir para conteúdo
  • Cadastre-se

Duvidas Com Query Mysql


Posts Recomendados

Boa tarde,


estou fazendo a higienização do meu banco de dados e através do google
encontrei uma query que deleta os cadastros repetidos, porem não estou
entendendo muito bem o funcionamento desta query.


DELETE *
FROM pessoa_fisica AS p1
CROSS JOIN (
SELECT email FROM pessoa_fisica GROUP BY email HAVING COUNT(email > 1
) AS p2
USING (email)

 

Essa é a estrutura do meu banco de dados.

 

CREATE TABLE `pessoa_fisica` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`nome` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`estado` varchar(255) DEFAULT NULL,
`cidade` varchar(255) DEFAULT NULL,
`fone_res` varchar(255) DEFAULT NULL,
`fone_com` varchar(255) DEFAULT NULL,
`fone_cel` varchar(255) DEFAULT NULL,
`endereco` varchar(255) DEFAULT NULL,
`numero` varchar(45) DEFAULT NULL,
`complemento` varchar(255) DEFAULT NULL,
`bairro` varchar(255) DEFAULT NULL,
`cep` varchar(255) DEFAULT NULL,
`segmento` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2053627 DEFAULT CHARSET=latin1$$



O que signica esse p1 e p2 ???

Ao executar essa query o erro gerado é esse:

Error Code: 1064. You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near '* FROM pessoa_fisica AS p1 CROSS JOIN ( SELECT email FROM
pessoa_fisica GROUP' at line 1



Grato pela ajuda
Link para o comentário
Compartilhar em outros sites

Correto:

DELETE FROM ....

O seu esta:

DELETE * FROM

 

 Obrigado pela resposta !

 

 Eu fiz da forma que você informou, porem o sistema agora gera outro erro.

 

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS p1  CROSS JOIN (   SELECT email FROM pessoa_fisica GROUP BY email HAVING COUN' at line 1

Grato

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?