Mysql
 sql >> Database >  >> RDS >> Mysql

ELIMINA tutti gli argomenti duplicati con poche condizioni

In MySQL , non puoi specificare la tabella di destinazione in un DML operazione in una sottoquery (a meno che non la nidifichi a più di un livello di profondità, ma in questo caso non otterrai risultati affidabili e non potrai utilizzare le sottoquery correlate).

Usa un 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;

Crea un indice su topics (object_id, title, topic_id) affinché funzioni velocemente.