İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

mysql de mükerrer kayıtların silinmesi

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
Mysql in kendi içinde böyle bir yapılanma varmıdır acaba ?

mysql e bakarken phpmyadmin kullanıyorum belki onun içinde vardır.

Eğer her ikisi de yoksa izlemem gereken yolu önerebilirmisiniz ?

saygılar
 

pembekedi

0
İyinet Üyesi
Katılım
3 Şubat 2005
Mesajlar
1,607
Reaction score
1
Konum
Neverland
ah cmylmzcım ah : )

mükerrer : tekrarlanmış yenilenmiş.

phpmyadmin emin değilim ama php ile kodu yazılabilir. önce tüm veriler kontrol edilir aynı olanlar silinebilir. birebir olanlar için % kullanılmadan aratılıyordu sanırım.
 

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
Walla elime geçicek olan 1 milyon kayıtta makine geberebilir die sormuştum :)
hem mükerrer kelimesini yanlış yerdemi kullandım acaba
çağa ayak uydurmakta zorlanıyorum napim :D
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
69
Konum
Sakarya
Mysqle has değil, tüm SQL tabanlı veritabanlarında aşağıdaki SQL ile çift kayıtları bulabilirsiniz:

select id,count(*) from tablo group by id having count(*) > 1
 

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
iyinet çok teşekkür ederim ama şöyle birşey olduğunda bu pek yardımcı olmuyor
eğer Users database'inde UserName sahasında 3 adet "ahmet" varsa sadece birini siliyor. ama ben tek bir kayıt kalsın bölümüne takıldım
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
69
Konum
Sakarya
iyinet çok teşekkür ederim ama şöyle birşey olduğunda bu pek yardımcı olmuyor
eğer Users database'inde UserName sahasında 3 adet "ahmet" varsa sadece birini siliyor. ama ben tek bir kayıt kalsın bölümüne takıldım

Users databasinde 3 ahmet olması, 3 çift kayıt anlamına gelmez aslında ama sanırım sen o şekilde anlatmak istedin.
Verdiğim sql 2 ve 2 den fazla (çift ve üstü) kayıtları göstermek içindir, silmek için değildir.
Sizin yapacağınız bu komutu kullanarak mantığı oluşturmak.

Tablo yapısını verirseniz örnek ile nasıl çift kayıtları SQL ile sileceğinizi anlatabilirim.
 

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
iyinet aslında doğru söylüyorsun ben yanlış ifade etmişim
tablo yapım aşağıdaki gibidir. yardımların içinde çok teşekkür ederim

Kod:
CREATE TABLE `Users` (
  `id` int(11) NOT lisanssız auto_increment,
  `UserName` varchar(8) NOT lisanssız default '',
  `Active` char(1) NOT lisanssız default 'P',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=41789833 ;
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
69
Konum
Sakarya
iyinet aslında doğru söylüyorsun ben yanlış ifade etmişim
tablo yapım aşağıdaki gibidir. yardımların içinde çok teşekkür ederim

Kod:
CREATE TABLE `Users` (
  `id` int(11) NOT lisanssız auto_increment,
  `UserName` varchar(8) NOT lisanssız default '',
  `Active` char(1) NOT lisanssız default 'P',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=41789833 ;

Çift kayıt silmeyi daha önce anlatmıştım, şimdi senin tablon için anlatalım:

Kod:
CREATE TABLE tekil_tablo select * from Users where 1=2;
ALTER TABLE tekil_tablo ADD PRIMARY KEY (UserName);
INSERT IGNORE INTO tekil_tablo SELECT * FROM Users;
RENAME TABLE Users TO Users_eski;
RENAME TABLE tekil_tablo TO Users;

Bu işlemlerden sonra çift kayıtların tutlduğu Users tablosu Users_eski olarak saklı tutulacak, Users tablosu ise çiftl kayıtlardan ayıklanmış olacaktır.
 

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
iyinet sanada Rep verilirmi bilmiyorum ama çok teşekkür ederim .
beni Ciddi bir dertten kurtardın çok teşekkürler
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst