SQL Server'da 1060 hata kodu nasıl çözülür? (Adım adım)

Yayınlanan: 2025-08-07

SQL Server'da çalışıyorsanız ve şöyle bir şey söyleyen bir hata görüyorsanız:
“Hata 1060: Yinelenen sütun adı” Panik yapmayın. Ciddi görünüyor, ama yaygın bir hata.

Bu genellikle yeni bir sütun ekleyerek bir tabloyu değiştirmeye çalışırken ortaya çıkar, ancak sütun adı zaten mevcuttur. Belki orada olduğunu fark etmedin. Belki de senaryo iki kez koştu. Her iki durumda da, SQL Server size bildiriyor, “Hey, bu sütun zaten var, tekrar ekleyemiyorum”.

Hızlı bir şekilde çözelim ve daha sonra kaçınabilmeniz için basit bir şekilde parçalayalım.

SQL Server hata kodu 1060 ne anlama geliyor?

SQL Server hata kodu 1060 ne anlama geliyor?

Hata 1060, SQL Server'ın zaten tabloda bulunan bir ad içeren bir sütun eklemenizi engellediği anlamına gelir.

Buna “yinelenen sütun adı” hatası denir. Diyelim ki tablonuzun zaten user_email adında bir sütunu var. ALTER TABLE kullanarak aynı adla başka bir sütun eklemeye çalışırsanız, SQL Server çoğaltmayı durdurmak için hatayı 1060 atar.

Bu bir hata değil. Sadece SQL'in veritabanı yapınızı koruma yoludur.

SQL Server'ın hata kodu 1060 göstermesinin yaygın nedenleri

Bu hata genellikle tablonun tasarımında veya komut dosyaları üzerinde çalışırken görünür. SQL Server Management Studio'da (SSMS) veya bir komut dosyası dosyasında yapmanız önemli değil - komutun nasıl yazıldığıyla ilgili.

İşte 1060 hatasının ortaya çıktığı günlük durumlar:

  • Zaten var olan bir sütun eklemeye çalışıyorsunuz
  • Sütunu kontrol etmeden aynı komut dosyasını iki kez çalıştırıyorsunuz
  • Bir komut dosyasını, yinelenen bir alan ekleyen bir komut dosyasını kopyalıyorsunuz
  • Bir veritabanını geri yükliyorsunuz ve çatışan güncellemeleri çalıştırıyorsunuz
  • Aynı şema değişimini bir kereden fazla uygulayan otomasyon araçları kullanıyorsunuz
  • Büyük tabloları düzenliyorsunuz ve sütun adlarının izini kaybediyorsunuz
  • Eski bir uygulamayı taşıyor ve yeni sütunları senkronize etmeye çalışıyorsunuz

Özellikle paylaşılan projelerde veya önemli şema değişikliklerinde karşılaşmak kolaydır.

SQL Server Hata Kodu 1060 nasıl düzeltilir?

Bu hata ilk başta korkutucu görünüyor, ancak düzeltilmesi genellikle çok kolay. Sadece tabloda zaten var olan bir sütun eklemeye çalışıyorsunuz. Dolayısıyla anahtar, çoğaltılmadan kaçınmak veya güvenli bir şekilde işlemektir .

Bu düzeltmeleri tek tek deneyin. Çoğu zaman, düzeltme #1 veya düzeltme #2 hemen çözer.

Düzeltme #1: Sütun zaten var olup olmadığını kontrol edin

Yeni bir sütun eklemeye çalışmadan önce, önce bu sütunun zaten orada olup olmadığını görmek için tabloyu kontrol edin.

Bu SQL sorgusunu kullanabilirsiniz:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'

Bu, tablonun içindeki tüm sütunları gösterecektir. Eklemeye çalıştığınız sütun zaten listelenmişse, bu sizin sorunun. Tekrar eklemenize gerek yok - bu kısmı senaryonunuzdan kaldırın. Bu en güvenli ilk adımdır.

Düzeltme #2: Alter ifadenizde IF NOT EXISTS kullanın

SQL Server, doğrudan ALTER TABLE mantık IF NOT EXISTS tam olarak izin vermez, ancak alter komutunuzu böyle bir IF içine sarabilirsiniz:

IF NOT EXISTS (
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
AND COLUMN_NAME = 'your_column_name'
)
BEGIN
ALTER TABLE your_table_name
ADD your_column_name VARCHAR(255)
END

Bu önce kontrol eder. Sütun orada değilse, ekler. Zaten oradaysa, komutu atlar, hata yoktur. Bu, bir kereden fazla çalışabilecek çoğu komut dosyası için en iyi düzeltmedir .

Düzeltme #3: SQL komut dosyalarınızı gözden geçirin ve temizleyin

Bazen sorun kodunuzda değildir - bu kodun kaç kez çalıştığı. Uzun SQL komut dosyaları veya taşıma dosyaları ile çalışıyorsanız, tekrarlanan ALTER TABLE komutlarını kontrol edin. Belki aynı sütun kazayla birden fazla eklenir.

Ayrıca, bir komut dosyasının bir kısmını başka bir kaynaktan kopyaladıysanız, aynı tablo için yinelenen komutlar içermediğini iki kez kontrol edin. Bu temizleme adımı özellikle birden fazla değişikliği yönetirken yararlıdır.

Düzeltme #4: Yinelenen sütunu yeniden adlandırın veya bırakın (gerekirse)

Sütun zaten mevcutsa, ancak artık gerekli değilse veya yanlış ada sahipse, yeni bir tane eklemeden önce onu bırakmak veya yeniden adlandırmak isteyebilirsiniz.

Bir sütunu bırakmak için:

ALTER TABLE your_table_name
DROP COLUMN your_column_name

Bir sütunu yeniden adlandırmak için (SQL Server 2016+):

EXEC sp_rename 'your_table_name.old_column_name', 'new_column_name', 'COLUMN'

Uyarı: Sütun başka bir yerde kullanılıyorsa, sütunları bırakma veya yeniden adlandırma uygulamanızı bozabilir. Bunu yalnızca sütunun kaldırmak veya değiştirmek güvenli olduğundan eminseniz kullanın.

Düzeltme #5: Şemayı kontrol etmek için SQL Server Management Studio'yu (SSMS) kullanın

Bazen, işleri görsel olarak görmeye yardımcı olur. SSM'leri açın, veritabanınıza bağlanın ve tabloyu genişletin. Listelenen tüm sütun adlarını göreceksiniz. Bu, sütun zaten orada olup olmadığını veya farklı bir yazımla eklendiğini tespit etmeyi kolaylaştırır.

Onaylandıktan sonra, betiğinize geri dönebilir ve bu sütunu güvenli bir şekilde düzenleyebilir veya atlayabilirsiniz. SSMS, özellikle emin değilseniz, değişiklik yapmadan önce çift kontrol için mükemmeldir.

SQL Server Hata Kodu 1060'dan kaçınmak için en iyi uygulamalar

Bu hata standarttır, ancak nasıl idare edeceğinizi öğrendikten sonra önlemek de kolaydır. İşte gelecekte tekrar vurmanızı sağlayabilecek birkaç ipucu:

  • Eklemeden önce her zaman sütunun zaten var olup olmadığını kontrol edin
  • Komut dosyalarınızda mantık IF NOT EXISTS kullanın (desteklendiğinde)
  • Temizle, tutarlı sütun adlandırmaya sadık kalın
  • Gerekmedikçe aynı alter tabloyu bir kereden fazla çalıştırmayın
  • Bir değişiklik günlüğünde veya sürüm kontrolünde şema değişikliklerinin kaydını tutun
  • Canlı gitmeden önce bir veritabanında yeni komut dosyalarını test edin
  • Tablo sütunlarını görsel olarak kontrol etmek için SSMS gibi araçları kullanın
  • Ne yaptığını bilmeden SQL kopyalamadan kaçının

Bu küçük alışkanlıklar, temizleyici komut dosyaları yazmanıza ve Hata 1060 gibi sorunlardan kaçınmanıza yardımcı olabilir.

Çözüm

SQL Server Hatası 1060 kafa karıştırıcı görünebilir, ancak bu sadece var olan bir sütun eklemeye çalıştığınız anlamına gelir. SQL sadece masa yapınızı korumak için işini yapıyor.

Düzeltme genellikle basittir: sütun listenizi kontrol edin, komut dosyasını ayarlayın veya kopyaları önlemek için bir koşul ekleyin. Buna neyin sebep olduğunu anladıktan sonra, gelecekte kaçınmak kolaydır.

Bu tür bir hata SQL çalışmasında tipiktir. Komut dosyalarınızı ne kadar çok pratik yapar ve test ederseniz, o kadar kolay olur.