Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

EXCLUIR todos os tópicos duplicados com poucas condições


Em MySQL , você não pode especificar a tabela de destino para um DML operação em uma subconsulta (a menos que você a aninhe em mais de um nível de profundidade, mas nesse caso você não obterá resultados confiáveis ​​e não poderá usar subconsultas correlacionadas).

Use um JOIN :
DELETE  td
FROM    topics td
JOIN    topics ti
ON      ti.object_id = td.object_id
        AND ti.title = td.title
        AND ti.topic_id > td.topic_id;

Crie um índice em topics (object_id, title, topic_id) para que isso funcione rápido.