2011-09-14 4 views
13

기본 키가 아닌 SQL Server의 열을 자동으로 증가시킬 수 있습니까?SQL Server가 기본 키가없는 열을 자동으로 증가

그렇다면 어떻게 할 수 있습니까?

감사합니다.

+1

확실히 - 열은 단지 'INT IDENTITY' (또는 BIGINT)로 선언되어야합니다. 그게 전부입니다. 기본 키가 될 필요가 없습니다. 전혀 없습니다 ... –

+2

당신을 제약하지 않으려 고 노력하고 있습니까? –

+0

@adrian : ... 프로덕션 시스템에서만 사용하십시오! :-) –

답변

25

예. IDENTITY 열을 기본 키로 만들 필요는 없습니다.

CREATE TABLE T 
(
X INT PRIMARY KEY, 
Y INT IDENTITY(1,1) 
) 

언제 이것이 유용 할지는 모르겠지만. 당신이 PK로 사용하고자하는 자연스러운 키를 가지고 있다면 어쨌든 대용 대체 키에 고유 한 제약 조건을두기를 원할 것입니다.

FK 관계 설정을 위해 SQL Server는 열이 PK인지 여부에 상관없이 고유 인덱스가 필요합니다.

+1

레코드가 테이블에 추가 된 순서를 쉽게 기억할 수 있습니다. –

+0

@ 래리 - 아 물론. 생각하지 않았어. –

+1

@Larry, CreatedDate는 기본값 (getdate())을 사용하므로 훨씬 더 의미가 있습니다. –

5

IDENTITY 키워드로 열을 선언하고 단순히 PRIMARY KEY 제약 조건을 만들지 마십시오.

관련 문제