phpBB Türkiye • #1062 - Duplicate entry hatasının çözümü : 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 ...
#1062 - Duplicate entry hatasının çözümü
Tarih: 04.04.2007, 14:20
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.
#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
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.