기술문서
>MS SQL Server
MSSQL(SQL Server)에서 값이 자동으로 증가하는 컬럼
자료 기본정보
주요 프로그램 스펙
- 평점: 10.0
- 라이선스: free
피드백 및 다운로드
- 사용자 평점: 10.0
- 조회: 18
제조사 및 등록 정보
- 제작사: LUZENSOFT
- 등록일: 2025-12-22 09:22:45
- 설명
MSSQL(SQL Server)에서 값이 자동으로 증가하는 컬럼을 만들 때는 IDENTITY 속성을 사용합니다. 이는 MySQL의 AUTO_INCREMENT와 같은 기능을 수행합니다.
1. 기본 사용법
테이블을 생성할 때 컬럼명 뒤에 IDENTITY(시작값, 증가값) 형식으로 지정합니다.
SQL
CREATE TABLE Users (
UserID INT IDENTITY(1,1) PRIMARY KEY, -- 1부터 시작해서 1씩 증가
UserName NVARCHAR(50)
);
시작값(Seed): 첫 번째 행에 할당될 숫자입니다. (기본값: 1)
증가값(Increment): 다음 행이 추가될 때 더해질 숫자입니다. (기본값: 1)
2. 주요 관리 명령문
자동 증가 컬럼은 일반적인 INSERT문으로 값을 직접 넣을 수 없으며, 필요에 따라 확인이나 초기화가 필요할 수 있습니다.
기능 | 명령어 | 설명 |
|---|---|---|
현재 값 확인 |
| 현재 할당된 마지막 증가값을 확인합니다. |
값 초기화 |
| 다음 행이 1부터 시작하도록 초기화합니다. |
값 직접 입력 |
| 자동 증가를 잠시 끄고 값을 수동으로 입력합니다. |
마지막 값 조회 |
| 현재 세션에서 마지막으로 생성된 ID값을 가져옵니다. |
3. 알아두어야 할 특징
중간 비어있는 값: 데이터를
DELETE로 삭제해도 삭제된 번호는 다시 채워지지 않고 건너뜁니다.테이블당 하나: 하나의 테이블에는 단 하나의
IDENTITY컬럼만 설정할 수 있습니다.롤백(Rollback): 트랜잭션 내에서
INSERT가 실패하여 롤백되어도, 증가한 번호는 다시 돌아가지 않고 소모됩니다.
4. 이미 생성된 컬럼에 적용하기
이미 데이터가 있는 테이블의 특정 컬럼을 IDENTITY로 변경하는 것은 SQL 문법상 직접적으로 불가능합니다. 이 경우 새 테이블을 만들어서 데이터를 옮기거나, 테이블 디자인 모드(GUI)를 통해 수정해야 합니다.
Tip: 만약 여러 테이블에서 공용으로 사용되는 순번이 필요하다면
IDENTITY대신SEQUENCE객체를 사용하는 것이 더 유연합니다.