• 25-07-2010, 20:31:47
    #1
    merhaba arkadaşlar.
    yanlışlıkla id kısmını sildim tablodan ve sitem hata veriyor şuan. tekrar id sütunu oluşturup primary key olarak atmaaya çalıştım fakat veri olduğu için snrm hata veriyor.
    ALTER TABLE  `dinle` ADD PRIMARY KEY (  `id` )
    
    MySQL çıktısı: 
    
    #1062 - Duplicate entry '0' for key 1
    tekrar nsl primary key atayabilirim yardımcı olursanız sevinirim.
  • 25-07-2010, 20:38:50
    #2
    Primary Key'i sildikten sonra birden fazla 0 id li kayıt eklenmiş sanırım. Bu kaydı silip tekrar deneyebilirsin.
  • 25-07-2010, 20:55:21
    #3
    o şöyle oldu tekrar id sütunu ekledim. oda not null olduğu için otomatik 0 oluo içeriği. tüm id değerleri 0 gözüküyo yani.
  • 25-07-2010, 21:13:01
    #4
    O zaman şöyle yapacaksın. Yapı sütunundan ID alanını sileceksin. Sildikten sonra yeniden ID alanı oluşturacaksın. Oluştururken auto_increment ve primary key olarak ayarlayacaksın.
  • 25-07-2010, 21:15:17
    #5
    aynen öyle yaptım fakat işte o şekildede hata veriyor. :s
  • 25-07-2010, 21:20:52
    #6
    Bir yolu daha var ama zahmetli olabilir.

    Aynı türde bir tablo daha oluşturun ve primary key alanını istediğiniz gibi ayarlayın sonra sorunlu tablodaki alanları sırayla yeni tabloya aktarın.
  • 25-07-2010, 21:27:38
    #7
    zbahadir adlı üyeden alıntı: mesajı görüntüle
    Bir yolu daha var ama zahmetli olabilir.

    Aynı türde bir tablo daha oluşturun ve primary key alanını istediğiniz gibi ayarlayın sonra sorunlu tablodaki alanları sırayla yeni tabloya aktarın.
    çok da zahmetli değil hatta, zaten veritabanını dışarı aktar deyince bütün insert into kodlarını veriyor, kopyala yapıştır çalıştır tamam
  • 25-07-2010, 21:27:59
    #8
    onuda denedim. asp ile atarken movenext kullandım. fakat sonrakine geçmedi hiç. sürekli ilk veriyi atıo ve 100k ya fln gelince uzun sürmesinden dolayı hata veriyor. yani o şekildede çözüm bulamadım.
  • 25-07-2010, 21:38:50
    #9
    hatanın sebebi id alanında birden fazla aynı değere sahip satır olmasıysa, önce değişken oluşturup 1 değerini veririz, sonra update tablo set id=$degisken işlemini gerçekleştirip değişkeni 1 arttırırız. bu şekilde önce tüm idler 1, sonra 1 hariç hepsi 2, sonra 1,2 hariç hepsi 3 diye artarak gider ve işlem sonunda hepsi farklı bir id'ye sahip olur. sol kulağımızı sağ elimizle değil sol ayağımızla göstermek gibi olur belki ama düzelir en azından.