반응형
SQL Server에서 Identity Column은 테이블에 고유한 값을 자동으로 생성하는 기능입니다. 주로 테이블의 Primary Key로 사용되며, 값의 중복을 방지하는 기능을 가지고 있습니다.
생성 방법
테이블을 생성할 때 Identity Column을 추가하는 방법입니다.
CREATE TABLE [테이블명](
[ID] INT IDENTITY(1,1) PRIMARY KEY,
[Name] NVARCHAR(50),
[Email] NVARCHAR(50)
)
사용 방법
Identity Column을 사용하여 데이터를 입력할 때는 해당 컬럼의 값을 직접 입력할 필요가 없습니다.
INSERT INTO [테이블명]([Name], [Email])
VALUES ('John Doe', 'johndoe@example.com')
주의점
- Identity Column은 테이블 내의 모든 레코드에서 고유한 값을 생성해야 합니다.
- 기존 레코드의 값을 수정할 경우, 고유한 값을 유지할 수 없으므로 주의해야 합니다.
- SET IDENTITY_INSERT를 사용할 때에도 고유한 값을 유지하는 것을 확인해야 합니다.
SET IDENTITY_INSERT
Identity Column은 직접 값을 입력하는 것을 허용하지 않습니다. 하지만, 데이터를 마이그레션 한다든지 꼭 필요한 값으로 등록해야 하는 경우 SET IDENTITY_INSERT라는 기능을 사용하여 값을 직접 입력할 수 있는 것을 허용할 수 있습니다.
사용법
- SET IDENTITY_INSERT 테이블명 ON/OFF
- 예시
SET IDENTITY_INSERT [dbo].[test_table] ON
GO
INSERT INTO [dbo].[test_table] ([ID], [Name], [Age])
VALUES (1, 'John Doe', 25)
GO
SET IDENTITY_INSERT [dbo].[test_table] OFF
GO
- 주의사항
- Identity Column의 값이 기존의 레코드와 중복되면 오류가 발생할 수 있으므로 주의해야 합니다.
- 반드시 다시 OFF 상태로 전환시켜야 Identity Column이 정상 동작 합니다.
반응형
'데이터베이스' 카테고리의 다른 글
[SQL서버] IDENT_CURRENT(), SCOPE_IDENTITY() 및 @@IDENTITY 차이점 (0) | 2023.02.15 |
---|---|
[SQ서버] 정수를 16진수로 변환 (2) | 2022.10.12 |
[SQL서버] VALUES의 다양한 용법(테이블 값 생성자) (0) | 2021.03.11 |
[SQL서버] 로그 파일 크기 줄이기 (0) | 2021.03.04 |
[SQL서버] PK(Primary Key) 변경 하기(상세) (0) | 2021.02.26 |