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.