PRIMARY KEY 제약 조건 만들기 및 수정
테이블을 만들 때 테이블 정의의 일부로 단일 PRIMARY KEY 제약 조건을 만들 수 있습니다. 테이블이 이미 있고 다른 PRIMARY KEY 제약 조건은 없으면 PRIMARY KEY 제약 조건을 추가할 수 있습니다. 테이블당 하나의 PRIMARY KEY 제약 조건만 있을 수 있습니다.
PRIMARY KEY 제약 조건이 이미 있으면 해당 제약 조건을 수정하거나 삭제할 수 있습니다. 예를 들어 테이블의 PRIMARY KEY 제약 조건이 다른 열을 참조하도록 하거나 PRIMARY KEY 제약 조건의 열 순서, 인덱스 이름, 클러스터형 옵션 또는 채우기 비율을 변경할 수 있습니다. 그러나 PRIMARY KEY 제약 조건이 정의된 열의 길이는 변경할 수 없습니다.
[!참고] PRIMARY KEY 제약 조건을 수정하려면 먼저 기존 PRIMARY KEY 제약 조건을 삭제하고 새로운 정의를 사용하여 다시 만들어야 합니다.
테이블의 기존 열에 PRIMARY KEY 제약 조건이 추가되면 SQL Server 2005 데이터베이스 엔진 에서 기존 열 데이터와 메타데이터를 검사하여 다음 기본 키 규칙을 준수하는지 확인합니다.
- 열에 Null 값이 허용되지 않습니다.
테이블을 만들 때 지정된 PRIMARY KEY 제약 조건의 열은 암시적으로 NOT NULL로 변환됩니다. - 중복된 값이 허용되지 않습니다.
중복된 값이 있거나 Null 값을 허용하는 열에 PRIMARY KEY 제약 조건이 추가되면 데이터베이스 엔진 에서 오류를 반환하고 제약 조건을 추가하지 않습니다.
위 규칙에 어긋나는 PRIMARY KEY 제약 조건을 추가할 수 없습니다.
데이터베이스 엔진 은 자동으로 고유 인덱스를 만들어 PRIMARY KEY 제약 조건의 고유성 요구 사항을 적용합니다. 테이블에 클러스터형 인덱스가 없거나 비클러스터형 인덱스를 명시적으로 지정하지 않으면 고유한 클러스터형 인덱스가 생성되어 PRIMARY KEY 제약 조건을 적용합니다.
다음과 같은 경우에는 PRIMARY KEY 제약 조건을 삭제할 수 없습니다.
- 다른 테이블의 FOREIGN KEY 제약 조건에서 참조하는 경우. 먼저 FOREIGN KEY 제약 조건을 삭제해야 합니다.
- 테이블에 적용된 PRIMARY XML 인덱스가 있는 경우.
테이블을 만들 때 PRIMARY KEY 제약 조건을 만들려면
기존 테이블에서 PRIMARY KEY 제약 조건을 만들거나 삭제하려면
방법: 기본 키 만들기(Visual Database Tools)
방법: 기본 키 삭제(Visual Database Tools)
PRIMARY KEY 제약 조건에 대한 정보를 얻으려면
sys.key_constraints(Transact-SQL)