• 20-08-2010, 20:48:13
    #1
    merhaba arkadaşlar, mysql de bir tablodaki field'i unique yapmak istediğiniz zaman duplicate entry'leriniz varsa hata verecektir mysql ve unique yapamayacaksınız.

    bu sorunu php ile uzun uzun halletmek yerine mysql üzerinden 2 komutla halledebilirsiniz.

    ilk sorgumuz :

    create table yenitablo as select * from eskitablo where 1 group by nick
    bu komutla yenitablo adında bir tablo oluşturuyoruz, dikkat edin group by nick dediğimiz için nick field'ımız unique olacaktır,

    daha sonra ise eski tablomuzu silelim

    drop table eskitablo;
    daha sonra ise oluşturdugumuz yeni tablonun adını eski tablomuz ile değiştirelim

    rename table yenitablo to eskitablo
    hepsi bu kadar, kolay gelsin eminim birçoğunuzun çook işine yarayacaktır.
  • 07-09-2010, 00:01:39
    #2
    bu arada bu yöntemle tablo yapısı aktarılmıyor, ben de anlamadım, tablo yapısını manuel tekrar ayarlamanız gerekmektedir. (örnegin id: primary, nick: unique, login: index)