#1062 - Duplicate entry hatasının çözümü

Alınan hata mesajları ve çözüm yolları.

#1062 - Duplicate entry hatasının çözümü

İleti

butterflyT
04.04.2007, 14:20

Selam arkadaşlar,
Konu hakkında Canver'de arama yaptım. Yirmiye yakın konu buldum ama tam cevap verilememiş. Hatta çoğu cevapsız kalmış. "Duplicate" kelimesinden dolayı sanırım herkes tabloya aynı değerden çift giriş yapılmaya çalışılıyor, hata da o yüzden oluşuyor zannetmiş.

Bu hata değişken türünden kaynaklanıyor. Örnek olarak signed TINYINT [ -127, +128 ] aralığında değer alır. Eğer siz buraya 129. girişi yapmak isterseniz hata alırsınız. Keza aynı durum karakter setlerinde ve karşılaştırmasında da geçerli.

Misal olarak phpbb_search_wordlist tablosundaki word_text alanı için karşılaştırma karakter seti standart olark latin1_bin verilmiş. Oysa biz sitemizde Türkçe karakterler kullanıyoruz (ğüşıç). latin1_bin kümesi ile Türkçe karakterleri karşılaştırmak hatalı olacağı için yine hata alırız.

Dolayısıla eğer // ? = ş
#1062 - Duplicate entry '?ablon' for key 1
tarzında bir hata alırsanız tablodaki o alanın karşılaştırma değerini kontrol edin. latin5_bin yapın.

Eğer
#1062 - Duplicate entry '129' for key 1
şeklinde bir hata alırsanız o zaman da muhtemelen sorun değişken türünden kaynaklanıyordur. Gerekli alana uygun bir değişken türü atayınız.

Değişken tipleri ve değer aralıkları
http://dev.mysql.com/doc/refman/5.1/en/ ... types.html
Karakter ve karşılaştırma setleri
http://dev.mysql.com/doc/internals/en/charsets.html

Artı bir de bu konuya bakınız.
http://www.canver.net/forumu-tasidim-fa ... 10009.html

Veritabanını yedeklerken ya da diğer forumlardan phpBB'ye geçerken arkadaşların çokca canını sıkan bir hataydı. Elimden geldiği kadar anlatmaya çalıştım.

ButterflyT
Kullanıcı avatarı
butterflyT
Kıdemli Üye
Kıdemli Üye
 
İleti: 144
Kayıt: 14.12.2005, 18:48

Hata Mesajları



Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

cron