“Şu anki seçim benzersiz bir sütun içermiyor.” Nadiren de olsa böyle bir hata var ve çözümü sandığınız kadar zor değil. Eğer şimdiye kadar denediğiniz yöntemler bir işe yaramadıysa bu yazımı okuduktan sonra benzersiz bir sütun içermiyor hatasını siz de çözebileceksiniz.
Dün akşam saatlerinde bir müşterimin wp-admin’e giremiyorum, sitede virüs var bir bakar mısın demesiyle incelemeye başladım. Siteyle uzun zamandır ilgilenilmediği için bir takım virüsler ve sql’de benzersiz sütün içermiyor sorunu vardı.
Bu sorun wp-admin’e girişi engeller hatta wp_post tablosunda olduğu zaman yazı eklemenizi dahi engelleyebilmektedir. Bunun için derhal sorun giderilmelidir.
Öncelikle phpmyadmin’e giriş sağlamalısınız. Şu anki seçim benzersiz bir sütun içermiyor sorunu yaşadığınız tabloya tıklayıp SQL bölümüne girin.
SELECT * FROM `wpg6_term_relationships` WHERE 1
Yukarıdaki wpg6_term_relationships tablo adınız ve siz hangi tabloda işlem yapıyorsanız orada o çıkacaktır. Örnekteki tablo ismi sadece göstermelik, siz kendi tablo adınızı yazacaksınız.
ALTER TABLE tablonuz ADD AMP INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
“tablonuz” yazan kısım sizin düzenleyeceğiniz tablo adı olmalıdır.
Aşağıdaki örnekte de göreceğiniz üzere bizim tablomuza ait tablo adı yer almakta.
ALTER TABLE yanına düzenlemekte olduğum tabloyu yazdım diğer kısım aynı şekilde kalmalıdır.
ALTER TABLE wpg6_term_relationships ADD AMP INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Bu kodu aşağıdaki resimlerde göreceğiniz gibi SQL bölümüne SELECT * FROM `wpg6_term_relationships` WHERE 1 kodunu silerek yazıyoruz. Daha sonra git butonuna tıklıyoruz.
MySQL boş bir sonuç kümesi döndürdü (yani sıfır satır). (Sorgu 0.0261 saniye sürdü.)
Şeklinde bir uyarı gelecektir. İşlem yaptığımız tablonun yanındaki +’ya tıklıyoruz (genişlet daralt) sütun bölümüne giriyoruz.
En üstteki AMP artık bizim birinci değerimiz. Hemen altında bulunan object_id’nin adını kopyalayıp siliyoruz. Buradaki ismin ne olduğu önemli değil, farklı tablo yapısında farklı bir isim yazabilir. Önemli olan AMP yazan tablonun hemen altındaki (2.) tablonun adını kopyalamak.
Daha sonra object_id’yi kaldırıyoruz ve AMP’nin adını “değiştir” kısmından object_id yapıyoruz,
İşlem bu kadar!
Problemi gidermenize sevindim :)
Teşekkürler hocam, başarılı yazı olmuş.
Öncelikle yazı için teşekkürler. Yardımınızla sorunumu çözdüm. :)
küçük bir DÜZELTME:
En üstteki AMP artık bizim birinci değerimiz. Hemen altında bulunan object_id’nin adını kopyalayıp siliyoruz. Buradaki ismin ne olduğu önemli değil, farklı tablo yapısında farklı bir isim yazabilir. Önemli olan AMP yazan ->tablonun-tablonun-tablonun-< kelimesi yerine alanın(field) yazılması daha doğru olacaktır. Bir süre tabloyu niye siliyoruz diye düşünmedim değil :)
merhabalar hocam
dediğiniz gibi hepsini yaptım ama msq hatası verdi
Hata
SQL sorgusu:
ALTER TABLE wp_popularpostsdata ADD AMP INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
MySQL çıktısı: Belgeler
#1067 - Invalid default value for 'day'
nasıl düzeltebiliriz? teşekkürler
Çok teşekkür ederim, diğer sitelerdeki anlatılanları yaptım ama olmamıştı, resimli anlatmanız sayesinde problemi giderebildim.