I MySQL
, kan du inte ange måltabellen till en DML
operation i en underfråga (såvida du inte kapar den mer än en nivå djup, men i det här fallet får du inte tillförlitliga resultat och kan inte använda korrelerade underfrågor).
Använd en 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;
Skapa ett index över topics (object_id, title, topic_id)
för att detta ska fungera snabbt.