Selam,
DB olarak Mysql kullanıyorum ve veritaban'ımdaki bazı kayıtlar tekrarlanıyor. Şimdi bu tekrarlanan kayıtlardan fazlalıkları silmek istiyorum. Örneğin Bir kayıt'tan iki adet var ise bundan bir tanesini silmek istiyorum.Elle silmem mümkün değil çok fazla tekrarlanan kayıt var. Ne yapmam gerekli? Distinct ile tekrarlanan kayıtlar birkere geliyor fakat gelmeyen kısım'ı nasıl silebilirim?
Teşekkürler.
Tekrarlanan kayıtlardan birini silmek ?
8
●3.161
- 03-05-2007, 21:14:55Group by veya distinct ile silme işlemi yapılabilir ama nasıl yapılır tam bilgim yok.
Yalnız bir dahaki kayıtları eklerken aynı kayıtlar olmaması için şöyle bir yol izlenebilir. (Tahminim youtube videosu ekliyorsun
)
<?php $video_id = '64MMKYTiu'; $sonuc = mysql_query("Select video_id from TABLO where video_id = '$video_id' Limit 1"); $satir = mysql_fetch_array($sonuc); $id = $satir['video_id']; if($id != $video_id){ mysql_query("-- insert --"); echo "eklendi"; }else{ echo "veri tabanında kayıtlı"; } ?> - 03-05-2007, 22:41:05Üyeliği durduruldu
<?php $video_id = '64MMKYTiu'; $sonuc = mysql_query("Select video_id from TABLO where video_id = '$video_id'"); $satir = mysql_num_rows($sonuc); if($satir !== 0){ mysql_query("-- insert --"); echo "eklendi"; }else{ echo "veri tabanında kayıtlı"; } ?>Bu şekilde tam olarak olur. Öbür türlü sadece ilk kayıt'ı karşılaştıracaktır.
Ve hayır youtube video'su eklemiyorum
- 03-05-2007, 22:50:22Tamam zaten mantıkta orda yaLisans adlı üyeden alıntı: mesajı görüntüle

Kaydı karşılaştırıyor kayıtlar birbirini tutmuyorsa veritabanında olmadığını anlayıp yeni kaydı ekliyor.
Senin verdiğin örnekte ise sonuç sıfırsa kayıt olmadığı için yeni kaydı ekliyor. Sonuç aynı mantık farklı
Böyle olmalı:
<?php $video_id = '64MMKYTiu'; $sonuc = mysql_query("Select video_id from TABLO where video_id = '$video_id'"); $satir = mysql_num_rows($sonuc); if($satir == 0){ mysql_query("-- insert --"); echo "eklendi"; }else{ echo "veri tabanında kayıtlı"; } ?>Edit: limit 1 dememin sebebi kaydı bulduğunda diğer kayıtlarada bakmaması için. Limit 1 dediğimizde ilk kayda bakmıyor. Hepsine bakıyor ve bulduğu zaman altındaki kayıtları taramıyor. Limit 1 demezsek bulsa bile sonuna kadar tarıyor. - 21-03-2008, 16:07:17yaptım olmadı :S başka yolu yokmu varolan kayıtlar için. php asp kod yazamadıgım icin kodla yapamıyorum az cok mysql biliyorum oda mysql frontlaLisans adlı üyeden alıntı: mesajı görüntüle
)