Di MySQL
, Anda tidak dapat menentukan tabel target ke DML
operasi dalam subkueri (kecuali jika Anda menyarangkannya lebih dari satu tingkat, tetapi dalam kasus ini Anda tidak akan mendapatkan hasil yang andal dan tidak dapat menggunakan subkueri yang berkorelasi).
Gunakan 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;
Buat indeks pada topics (object_id, title, topic_id)
agar ini bekerja dengan cepat.