[MSSQL] 테이블 기본키(PK) 추가, 변경 방법

SQL Server에서 기본 키(PRIMARY KEY)를 생성하거나 변경하기 위해서는 ALTER TABLE 문을 사용하여 제약조건을 생성하거나 삭제 후 재생성하면 된다. PK로 지정할 칼럼은 꼭 NOT NULL 속성을 가져야 하며, PK 칼럼을 변경해야 할 경우 속성 변경은 불가능하며 삭제 후 다시 생성해야 한다.

 

MSSQL PK 생성, 삭제 방법

목차
  1. PK 생성 방법
  2. PK 변경 방법 (삭제 후 재생성)
  3. PK 삭제 방법
  4. PK 조회 방법

 

PK 생성 방법

ALTER TABLE dbo.emp ADD CONSTRAINT emp_pk PRIMARY KEY (empno)

 

ALTER TABLE [테이블명] ADD CONSTRAINT [PK제약조건명] PRIMARY KEY ([칼럼1], [칼럼2], [칼럼3] ...)

PK로 지정할 칼럼은 속성이 NOT NULL로 설정되어 있어야 하며, PK제약조건명은 임의로 지정하면 된다.

 

PK 변경 방법 (삭제 후 재생성)

/* 1. PK 삭제 */
ALTER TABLE dbo.emp DROP CONSTRAINT emp_pk

/* 2. PK에 추가할 컬럼의 NOT NULL 속성 추가 */
ALTER TABLE dbo.emp ALTER COLUMN ename VARCHAR(10) NOT NULL

/* 3. PK 재생성 */
ALTER TABLE dbo.emp ADD CONSTRAINT emp_pk PRIMARY KEY (empno, ename)

 

PK의 속성은 변경할 수 없고, 삭제 후 다시 생성해야 한다.

① PK 삭제 → ② PK에 추가할 칼럼의 NOT NULL 속성 추가  ③ PK 재생성

 

PK 삭제 방법

ALTER TABLE dbo.emp DROP CONSTRAINT emp_pk

 

PK 제약조건명을 모를 경우 아래의 쿼리로 조회하면 된다.

 

PK 조회 방법

SELECT constraint_schema
     , table_name
     , constraint_name
     , column_name
     , ordinal_position
  FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
 WHERE table_name = 'emp'

 

 

해당 테이블의 PK 제약조건명과 PK에 속해 있는 칼럼을 확인할 수 있다.

 

▼▼▼▼ 테이블 생성 시 PK도 함께 생성하는 방법은 아래의 포스팅을 참고하면 된다.▼▼▼▼ 

 

[MSSQL] 테이블 생성 방법 2가지 (Create Table)

SQL Server에서 테이블을 생성할 때는 대부분 CREATE TABLE 문을 사용해서 테이블을 생성한다. 그러나 SQL 문이 익숙하지 않을 때는 SSMS 툴을 사용하면 조금 더 쉽게 테이블을 생성하거나 테이블 속성을

gent.tistory.com

 

댓글

Designed by JB FACTORY