-
- Hangi sütuna göre mükerrer kayıtları bulmak istediğinize karar verin.
- Aşağıdaki SQL sorgusunu kullanarak, hangi sütuna göre kaç adet mükerrer kayıt olduğunu bulun:
SELECT column_name, COUNT()
FROM table_name
GROUP BY column_name
HAVING COUNT() > 1;
-
- Mükerrer kayıtları silmek için aşağıdaki SQL sorgusunu kullanın (bu örnekte “column_name” sütunu kullanıldı):
DELETE t1 FROM table_name t1
INNER JOIN table_name t2
WHERE t1.id < t2.id
AND t1.column_name = t2.column_name;
- Bu sorgu, aynı değere sahip olan ancak farklı id’lere sahip olan kayıtlardan birini silerek mükerrer kayıtları kaldıracaktır. Ancak, bu işlemi yapmadan önce, veritabanınızın yedeğini almanızı öneririm.
2. Bir örnek Tablo bu şekil olsun.
CREATE TABLE ogrenciler ( id INT PRIMARY KEY, ad VARCHAR(50), soyad VARCHAR(50), tc_kimlik VARCHAR(11) );
Aynı TC kimliğine sahip çift kayıtları silmek için aşağıdaki SQL sorgusunu kullanabilirsiniz:
DELETE t1 FROM ogrenciler t1 INNER JOIN ogrenciler t2 WHERE t1.id < t2.id AND t1.tc_kimlik = t2.tc_kimlik;
Bu sorgu, ogrenciler
tablosunda aynı TC kimliğine sahip ancak farklı id
değerlerine sahip olan çift kayıtları silecektir. t1.id < t2.id
koşulu, aynı TC kimliğine sahip kayıtlardan sadece birini tutmak için kullanılır. Yani daha düşük id
değerine sahip olan kayıt korunurken, diğerleri silinir.
Bu sorguyu kullanarak çift kayıtları temizleyebilirsiniz. Ancak bu işlemi yapmadan önce veritabanınızın yedeğini almayı unutmayın, çünkü verileri geri getirmek zor olabilir.