SQL Server에서 오류 코드 1060을 해결하는 방법은 무엇입니까? (단계별)
게시 됨: 2025-08-07SQL Server에서 작업하고 다음과 같은 내용이라는 오류가 표시되는 경우
"오류 1060 : 중복 열 이름"은 당황하지 않습니다. 심각해 보이지만 일반적인 실수입니다.
새 열을 추가하여 테이블을 변경하려고 할 때 일반적으로 표시되지만 열 이름이 이미 존재합니다. 어쩌면 당신은 그것이 거기에 있다는 것을 알지 못했을 것입니다. 아마도 스크립트는 두 번 실행되었을 것입니다. 어느 쪽이든, SQL Server는 "이 칼럼이 이미 존재합니다. 다시 추가 할 수 없습니다."
간단한 방식으로 분해하여 빨리 고치고 나중에 피할 수 있습니다.
SQL Server 오류 코드 1060은 무엇을 의미합니까?
오류 1060은 SQL Server가 이미 테이블에있는 이름의 열을 추가하는 것을 차단하고 있음을 의미합니다.
이를 "중복 열 이름" 오류라고합니다. 테이블에 이미 user_email
이라는 열이 있다고 가정 해 봅시다. ALTER TABLE
사용하여 동일한 이름의 다른 열을 추가하려고하면 SQL Server는 오류 1060을 던져 복제를 중지합니다.
버그가 아닙니다. 데이터베이스 구조를 보호하는 SQL의 방법 일뿐입니다.
SQL Server가 오류 코드 1060을 표시하는 일반적인 이유
이 오류는 일반적으로 테이블의 디자인 또는 실행 스크립트에서 작업 할 때 나타납니다. SQL Server Management Studio (SSMS) 또는 스크립트 파일에서 수행하는 것은 중요하지 않습니다. 명령이 작성되는 방식에 관한 것입니다.
오류 1060이 표시되는 일상적인 상황은 다음과 같습니다.
- 이미 존재하는 열을 추가 하려고합니다
- 열을 확인하지 않고 동일한 스크립트를 두 번 실행합니다.
- 중복 필드를 추가하는 다른 개발자의 스크립트를 복사합니다.
- 데이터베이스를 복원 하고 충돌하는 업데이트를 실행 중입니다
- 동일한 스키마 변경을 두 번 이상 적용하는 자동화 도구를 사용하고 있습니다.
- 큰 테이블을 편집하고 열 이름을 잃어 버리고 있습니다.
- 이전 앱을 마이그레이션하고 새 열을 동기화 하려고합니다.
특히 공유 프로젝트 또는 중요한 스키마 변경에 대해 쉽게 실행하기 쉽습니다.
SQL Server 오류 코드 1060을 수정하는 방법?
이 오류는 처음에는 무섭게 보이지만 일반적으로 수정하기가 매우 쉽습니다. 이미 테이블에 존재하는 열을 추가하려고합니다. 따라서 핵심은 복제를 피 하거나 안전하게 처리하는 것입니다.
이 수정 사항을 하나씩 시도하십시오. 대부분의 경우, 수정 #1 또는 수정 #2가 즉시 해결됩니다.
수정 #1 : 열이 이미 존재하는지 확인하십시오
새 열을 추가하기 전에 먼저 테이블을 확인하여 해당 열이 이미 있는지 확인하십시오.
이 SQL 쿼리를 사용할 수 있습니다.
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
테이블 내부의 모든 열이 표시됩니다. 추가하려는 열이 이미 나열된 경우 문제입니다. 다시 추가 할 필요가 없습니다. 스크립트에서 해당 부분을 제거하십시오. 이것이 가장 안전한 첫 단계입니다.
수정 #2 : Alter 문에 IF NOT EXISTS
사용하십시오.
SQL Server는 정확하지 않은 IF NOT EXISTS
ALTER TABLE
내부에 직접 논리가 존재하지 않지만 다음과 같은 IF
블록 내부에 Alter 명령을 감을 수 있습니다.
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
먼저 확인합니다. 열이 없으면 추가합니다. 이미 거기에 있다면 명령을 건너 뛰고 오류가 없습니다. 이것은 두 번 이상 실행될 수있는 대부분의 스크립트에 가장 적합한 수정 입니다.

수정 #3 : SQL 스크립트를 검토하고 정리하십시오
때로는 코드에 문제가 발생하지 않습니다. 코드가 실행되는 횟수입니다. 긴 SQL 스크립트 또는 마이그레이션 파일로 작업하는 경우 반복적 인 ALTER TABLE
명령을 확인하십시오. 아마도 동일한 열이 우연히 두 번 이상 추가 될 수 있습니다.
또한 다른 소스에서 스크립트의 일부를 복사 한 경우 동일한 테이블에 대한 중복 명령이 포함되어 있지 않다는 두 번 확인하십시오. 이 정리 단계는 여러 변경 사항을 관리 할 때 특히 유용합니다.
수정 #4 : 중복 열의 이름을 바꾸거나 삭제하십시오 (필요한 경우)
열이 이미 존재하지만 더 이상 필요하지 않거나 잘못된 이름을 가진 경우 새 이름을 추가하기 전에 삭제 하거나 이름을 바꿀 수 있습니다.
열을 삭제하려면 :
ALTER TABLE your_table_name
DROP COLUMN your_column_name
열 이름을 바꾸려면 (SQL Server 2016+) :
EXEC sp_rename 'your_table_name.old_column_name', 'new_column_name', 'COLUMN'
경고 : 열이 다른 곳에서 사용되는 경우 열을 떨어 뜨리거나 이름을 바꿀 수 있습니다. 열이 제거되거나 변경하기에 안전하다고 확신하는 경우에만 사용하십시오.
수정 #5 : SQL Server Management Studio (SSMS)를 사용하여 스키마를 확인하십시오.
때로는 시각적으로 사물을 보는 데 도움이됩니다. SSM을 열고 데이터베이스에 연결하고 테이블을 확장하십시오. 모든 열 이름이 나열되어 있습니다. 이렇게하면 열이 이미 있거나 다른 철자가 추가 된 경우 더 쉽게 찾을 수 있습니다.
확인되면 스크립트로 돌아가 해당 열을 안전하게 편집하거나 건너 뛸 수 있습니다. SSMS는 특히 확실하지 않은 경우 변경하기 전에 이중 확인에 적합합니다.
SQL Server 오류 코드 1060을 피하는 모범 사례
이 오류는 표준이지만 처리 방법을 알면 피하기 쉽습니다. 다음은 앞으로 다시 타격을 줄 수없는 몇 가지 팁입니다.
- 칼럼이 추가하기 전에 이미 존재하는지 항상 확인하십시오.
- 스크립트에 논리가
IF NOT EXISTS
사용 (지원되는 경우) - 명확하고 일관된 열 이름 지정을 고수하십시오
- 필요하지 않는 한 동일한 Alter 테이블을 두 번 이상 실행하지 마십시오.
- 변경 로그 또는 버전 제어에서 스키마 변경 기록을 유지하십시오.
- 라이브를 시작하기 전에 스테이징 데이터베이스 에서 새 스크립트를 테스트하십시오.
- SSM과 같은 도구를 사용하여 테이블 열을 시각적으로 확인하십시오
- 그것이 무엇을하는지 알지 못하고 복사하는 SQL을 피하십시오
이 작은 습관은 청소기 스크립트를 작성하고 오류 1060과 같은 문제를 피하는 데 도움이 될 수 있습니다.
결론
SQL Server Error 1060은 혼란스러워 보일 수 있지만 이미 존재하는 열을 추가하려고 시도한 것을 의미합니다. SQL은 단지 테이블 구조를 보호하기 위해 업무를 수행하고 있습니다.
수정은 일반적으로 간단합니다. 열 목록을 확인하거나 스크립트를 조정하거나 복제를 방지하기위한 조건을 추가하십시오. 원인을 이해하면 앞으로 피하기 쉽습니다.
이러한 종류의 오류는 SQL 작업에서 일반적입니다. 스크립트를 연습하고 테스트할수록 더 쉽게 얻을 수 있습니다.