[MSSQL] 테이블 기본키(PK) 추가, 변경 방법
- 데이터베이스/MSSQL
- 2022. 4. 14.
SQL Server에서 기본 키(PRIMARY KEY)를 생성하거나 변경하기 위해서는 ALTER TABLE 문을 사용하여 제약조건을 생성하거나 삭제 후 재생성하면 된다. PK로 지정할 칼럼은 꼭 NOT NULL 속성을 가져야 하며, 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도 함께 생성하는 방법은 아래의 포스팅을 참고하면 된다.▼▼▼▼