216.73.216.43 TODAY : 3,130
자료실 서브 타이틀 아이콘

기술문서

 > 

MS SQL Server

MSSQL(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와 같은 기능을 수행합니다.



uploadImage

1. 기본 사용법

테이블을 생성할 때 컬럼명 뒤에 IDENTITY(시작값, 증가값) 형식으로 지정합니다.

SQL

CREATE TABLE Users (
    UserID INT IDENTITY(1,1) PRIMARY KEY, -- 1부터 시작해서 1씩 증가
    UserName NVARCHAR(50)
);

  • 시작값(Seed): 첫 번째 행에 할당될 숫자입니다. (기본값: 1)

  • 증가값(Increment): 다음 행이 추가될 때 더해질 숫자입니다. (기본값: 1)


2. 주요 관리 명령문

자동 증가 컬럼은 일반적인 INSERT문으로 값을 직접 넣을 수 없으며, 필요에 따라 확인이나 초기화가 필요할 수 있습니다.

기능

명령어

설명

현재 값 확인

DBCC CHECKIDENT('테이블명', NORESEED)

현재 할당된 마지막 증가값을 확인합니다.

값 초기화

DBCC CHECKIDENT('테이블명', RESEED, 0)

다음 행이 1부터 시작하도록 초기화합니다.

값 직접 입력

SET IDENTITY_INSERT 테이블명 ON

자동 증가를 잠시 끄고 값을 수동으로 입력합니다.

마지막 값 조회

SELECT SCOPE_IDENTITY()

현재 세션에서 마지막으로 생성된 ID값을 가져옵니다.


3. 알아두어야 할 특징

  • 중간 비어있는 값: 데이터를 DELETE로 삭제해도 삭제된 번호는 다시 채워지지 않고 건너뜁니다.

  • 테이블당 하나: 하나의 테이블에는 단 하나의 IDENTITY 컬럼만 설정할 수 있습니다.

  • 롤백(Rollback): 트랜잭션 내에서 INSERT가 실패하여 롤백되어도, 증가한 번호는 다시 돌아가지 않고 소모됩니다.

4. 이미 생성된 컬럼에 적용하기

이미 데이터가 있는 테이블의 특정 컬럼을 IDENTITY로 변경하는 것은 SQL 문법상 직접적으로 불가능합니다. 이 경우 새 테이블을 만들어서 데이터를 옮기거나, 테이블 디자인 모드(GUI)를 통해 수정해야 합니다.

Tip: 만약 여러 테이블에서 공용으로 사용되는 순번이 필요하다면 IDENTITY 대신 SEQUENCE 객체를 사용하는 것이 더 유연합니다.