Jak rozwiązać kod błędu 1060 na SQL Server? (Krok po kroku)

Opublikowany: 2025-08-07

Jeśli pracujesz na SQL Server i zobacz błąd, który mówi coś w stylu:
„Błąd 1060: duplikat nazwy kolumny” nie panikuj. Wygląda poważnie, ale to powszechny błąd.

Zwykle pojawia się to, gdy próbujesz zmienić tabelę, dodając nową kolumnę, ale nazwa kolumny już istnieje. Może nie zauważyłeś, że tam był. Być może scenariusz działał dwukrotnie. Tak czy inaczej, SQL Server po prostu informuje: „Hej, ta kolumna już istnieje, nie mogę jej ponownie dodać”.

Rozbijmy to w prosty sposób, aby szybko to naprawić i uniknąć później.

Co oznacza kod błędu SQL Server 1060?

Co oznacza kod błędu SQL Server 1060

Błąd 1060 oznacza, że SQL Server blokuje Cię od dodania kolumny o nazwie, która jest już w tabeli.

Nazywa się to błędem „zduplikowanej nazwy kolumny” . Powiedzmy, że twoja tabela ma już kolumnę o nazwie user_email . Jeśli spróbujesz dodać inną kolumnę o tej samej nazwie za pomocą ALTER TABLE , SQL Server rzuca błąd 1060, aby zatrzymać powielanie.

To nie jest błąd. To tylko sposób ochrony struktury bazy danych SQL.

Wspólne powody, dla których SQL Server pokazuje kod błędu 1060

Ten błąd zwykle pojawia się, gdy pracujesz nad projektem lub uruchamianiem skryptów. Nie ma znaczenia, czy robisz to w SQL Server Management Studio (SSMS) lub w pliku skryptu - chodzi o sposób pisania polecenia.

Oto codzienne sytuacje, w których pojawia się błąd 1060:

  • Próbujesz dodać kolumnę, która już istnieje
  • Uruchom ten sam skrypt dwa razy bez sprawdzania kolumny
  • Kopiujesz skrypt od innego programisty, który dodaje duplikat pola
  • Przywracasz bazę danych i uruchamiasz aktualizacje konfliktu
  • Używasz narzędzi automatyzacji , które stosują tę samą zmianę schematu więcej niż raz
  • Edytujesz duże tabele i tracisz nazwy kolumn
  • Migrujesz starą aplikację i próbujesz zsynchronizować nowe kolumny

Łatwo jest się złączyć, szczególnie w przypadku wspólnych projektów lub znacznych zmianach schematu.

Jak naprawić kod błędu serwera SQL 1060?

Ten błąd na początku wygląda przerażająco, ale zwykle jest bardzo łatwy do naprawienia. Po prostu próbujesz dodać kolumnę, która już istnieje w tabeli. Kluczem jest zatem albo uniknięcie duplikacji lub bezpieczne obsługa .

Wypróbuj te poprawki jeden po drugim. Przez większość czasu Fix #1 lub Fix #2 od razu go rozwiąże.

Napraw #1: Sprawdź, czy kolumna już istnieje

Zanim spróbujesz dodać nową kolumnę, najpierw sprawdź tabelę, aby sprawdzić, czy ta kolumna już tam jest.

Możesz użyć tego zapytania SQL:

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

To pokaże wszystkie kolumny wewnątrz stołu. Jeśli kolumna, którą próbujesz dodać, jest już wymieniona, to twój problem. Nie musisz go ponownie dodawać - usuń tę część ze swojego skryptu. To najbezpieczniejszy pierwszy krok.

Naprawiono #2: Użyj IF NOT EXISTS w instrukcji Alter

SQL Server nie pozwala dokładnie tak dokładnie IF NOT EXISTS logika wewnątrz ALTER TABLE , ale możesz owinąć polecenie alter w tym IF i tak:

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

To najpierw sprawdza. Jeśli nie ma kolumny, dodaje ją. Jeśli już tam jest, pomija polecenie, bez błędu. Jest to najlepsza poprawka dla większości scenariuszy, które mogą działać więcej niż raz.

Naprawiono #3: Przejrzyj i posprzątaj skrypty SQL

Czasami problem nie ma w twoim kodzie - to, ile razy ten kod działa. Jeśli pracujesz z długimi skryptami SQL lub plikami migracyjnymi, sprawdź powtarzane polecenia ALTER TABLE . Być może ta sama kolumna jest dodawana więcej niż raz przez przypadek.

Ponadto, jeśli skopiowałeś część skryptu z innego źródła, sprawdź dwukrotnie, że nie zawiera on duplikatów poleceń dla tej samej tabeli. Ten krok do czyszczenia jest szczególnie pomocny przy zarządzaniu wieloma zmianami.

Naprawiono #4: Zmień nazwa lub upuść duplikat kolumny (w razie potrzeby)

Jeśli kolumna już istnieje, ale nie jest już potrzebna lub ma niewłaściwą nazwę, możesz ją upuścić lub zmienić nazwę przed dodaniem nowego.

Aby upuścić kolumnę:

ALTER TABLE your_table_name
DROP COLUMN your_column_name

Aby zmienić nazwę kolumny (SQL Server 2016+):

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

Ostrzeżenie: upuszczenie lub zmiana nazwy kolumn może przerwać aplikację, jeśli kolumna jest używana gdzie indziej. Użyj tego tylko wtedy, gdy jesteś pewien, że kolumna jest bezpieczna do usunięcia lub zmiany.

Naprawiono nr 5: Użyj SQL Server Management Studio (SSMS), aby sprawdzić schemat

Czasami pomaga widzieć rzeczy wizualnie. Otwórz SSM, połącz się z bazą danych i rozwinąć tabelę. Zobaczysz wszystkie wymienione nazwy kolumn. Ułatwia to wykrycie, jeśli kolumna jest już tam lub została dodana z inną pisownią.

Po potwierdzeniu możesz wrócić do skryptu i bezpiecznie edytować lub pominąć tę kolumnę. SSMS świetnie nadaje się do podwójnego sprawdzania przed wprowadzeniem zmian, szczególnie jeśli nie masz pewności.

Najlepsze praktyki, aby uniknąć kodu błędu serwera SQL 1060

Ten błąd jest standardem, ale łatwo można go uniknąć, gdy wiesz, jak sobie z tym poradzić. Oto kilka wskazówek, które mogą cię zaoszczędzić przed ponownym uderzeniem w przyszłość:

  • Zawsze sprawdź, czy kolumna już istnieje przed dodaniem
  • Używaj IF NOT EXISTS logika w skryptach (po obsłudze)
  • Trzymaj się wyraźnego, spójnego nazywania kolumn
  • Nie uruchom tej samej tabeli alter więcej niż raz, chyba że jest to potrzebne
  • Zachowaj rekord zmian schematu w dzienniku zmian lub kontroli wersji
  • Przed przejściem na żywo przetestuj nowe scenariusze na inscenizacji
  • Użyj narzędzi takich jak SSM, aby wizualnie sprawdzać kolumny tabeli
  • Unikaj kopiowania SQL, nie wiedząc, co robi

Te małe nawyki mogą pomóc w pisaniu czystszych skryptów i uniknąć problemów takich jak błąd 1060.

Wniosek

Błąd SQL Server 1060 może wydawać się mylącym, ale oznacza to po prostu, że próbowałeś dodać kolumnę, która już istnieje. SQL po prostu wykonuje swoje zadanie, aby chronić strukturę stołu.

Poprawka jest zwykle prosta: Sprawdź listę kolumn, dostosuj skrypt lub dodaj warunek, aby zapobiec duplikatom. Gdy zrozumiesz, co go spowodowało, łatwo można uniknąć w przyszłości.

Ten rodzaj błędu jest typowy w pracy SQL. Im więcej ćwiczysz i testujesz skrypty, tym łatwiej.