TC Kimlik Numaranızı onaylayarak iyinet.com'dan tam olarak yararlanabilirsiniz. Konu açabilmek ve açılan konulara yazabilmek için lütfen Türkiye Cumhuriyeti Kimlik Numaranızı doğrulayın. Doğrulama ile ilgili hata alıyorsanız, kimlik ön yüzündeki Ad Soyad, Doğum yılı ve TC Kimlik numarası görünecek şekilde kimlik resmini bize gönderebilirsiniz.
arkadşlar. mysql da bulunan çift kayıtları nasıl silebilirim. mesela 20.000 lik bir db de 1500 tane çift kayıt var diyelim. çift kayıtları nasıl teke düşürebiliriz??
CREATE TABLE tekil_tablo select * from ciftli_tablo where 1=2;
ALTER TABLE tekil_tablo ADD PRIMARY KEY (email);
INSERT IGNORE INTO tekil_tablo SELECT * FROM ciftli_tablo;
RENAME TABLE ciftli_tablo TO ciftli_tablo_eski;
RENAME TABLE tekil_tablo TO ciftli_tablo;
ALTER TABLE tekil_tablo ADD PRIMARY KEY (email,ad,soyad,adres);
merhabalar , benimde yorum tablomda yorumlar bazen çift ve daha çok çıkabiliryor.
ne yapabilirim , yardımcı olması bakımından tablo aşağıda ;
CREATE TABLE `iddap_comments` (
`pid` mediumint(10) NOT lisanssız default '0',
`msg_id` mediumint(10) NOT lisanssız auto_increment,
`msg_author` varchar(25) NOT lisanssız default '',
`msg_body` text NOT lisanssız,
`msg_date` datetime NOT lisanssız default '0000-00-00 00:00:00',
`msg_raw_ip` tinytext,
`msg_hdr_ip` tinytext,
`author_md5_id` varchar(32) NOT lisanssız default '',
`author_id` int(11) NOT lisanssız default '0',
PRIMARY KEY (`msg_id`),
KEY `com_pic_id` (`pid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Used to store comments made on pics' AUTO_INCREMENT=9954 ;
CREATE TABLE tekil_tablo select * from iddap_comments where 1=2;
ALTER TABLE tekil_tablo ADD PRIMARY KEY (msg_body);
INSERT IGNORE INTO tekil_tablo SELECT * FROM iddap_comments;
RENAME TABLE iddap_comments TO iddap_comments_eski;
RENAME TABLE tekil_tablo TO iddap_comments;
#1170 - BLOB/TEXT column 'email' used in key specification without a key length
bende şöyle bir hata veriyor neden olabilir
ALTER TABLE tekil_tablo ADD PRIMARY KEY (email(255));
ALTER TABLE tekil_tablo ADD PRIMARY KEY (email(1000));
hocam benim de sorunum şu id alanı primari key birde email alanı var. Şimdi çift mail ile kayıt girilmemesi için mail alanını primery key yapmaya çalışıyorum şu hata çıkıyor.
ALTER TABLE `ytb` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `mail` )
MySQL çıktısı: Belgeler
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
tabloyu silip yeniden denedim bu sefer id alanıyla mail alanını ikisini birden primery key yapıyor bu yüzden gene mail adresleri yeniden girile biliyor. Access gibi çalıştığını zannediyorum. Mysql i yeni yeni öğreniyorumda. Yani benim kayıtlı olan kayıtları girmemem için muhtemelen mail alanını primary key yapmam lazım fakat varchar(50) olduğundan mı dır yoksa id alanının auto incornet olmasından mıdır bi türlü bulamadım . kayıt işlemleride seri bir şekilde 15 li yapılıyor yani sürekli bu varmı bunu kontrol et deyip sonra kayıt yaptırmak biraz işleri uzatır.
ALTER TABLE `ytb` ADD UNIQUE (`mail` ) ;