Bazen çoklu kayıtları silmek zorunda kalabilirsiniz. Proje başında ilgili alanı unique olarak belirtmediyseniz bu zorunluluk mutlaka karşınıza çıkacaktır. Peki nasıl olacak bu iş ?
Yeni tablo oluşturup tekrarlanan alandan tekil kayıtları almak için select sorgusunda distinct kullanarak tekrarlanan verilerden arınmış bir tablonuz olur. Daha kısa bir yol olarak, tekrarlanan alanları tespit edip, fazlalıkları silebilirsiniz. Bu sorgu aşağıdaki gibi olmalıdır;
DELETE FROM tablo_adi
USING tablo_adi, tablo_adi as sanal_tablo
WHERE (tablo_adi.id > sanal_tablo.id)
AND (tablo_adi.tekrarlanan_alan = sanal_tablo.tekrarlanan_alan);
Bu yazıya "how to delete duplicate rows in mysql" ya da "mysql tekrar eden kayıtları silme" şeklinde google araması yaparak ulaşabilirsiniz.
Tags:
mysql
Verilen kod gerçekten işe yarıyor. Teşekkürler sayenizde işimi hallettim.
YanıtlaSil