В MySQL
, не можете да посочите целевата таблица към DML
операция в подзаявка (освен ако не я вложите на повече от едно ниво дълбоко, но в този случай няма да получите надеждни резултати и не можете да използвате корелирани подзаявки).
Използвайте 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;
Създайте индекс за topics (object_id, title, topic_id)
за да работи бързо.