PostgreSQL 드롭 기본 키

Shihab Sikder 2023년6월20일
PostgreSQL 드롭 기본 키

이 문서에서는 ALTER TABLE 쿼리를 사용하여 PostgreSQL에서 기본 키 제약 조건을 삭제하는 방법에 대해 설명합니다.

PostgreSQL에서 기본 키 삭제

테이블이 있고 기본 키 필드를 삭제하려고 합니다. 직원의 다음 표를 보십시오.

\d table_name을 사용하여 각 열의 필드 이름과 유형을 볼 수 있습니다.

postgres=# \d record
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |
Indexes:
    "record_pkey" PRIMARY KEY, btree (id)

코드 스니펫은 id가 기본 키이고 제약 조건은 record_pkey임을 보여줍니다. 이제 primary key 열을 삭제하겠습니다.

기존 기본 키를 삭제하는 구문입니다.

ALTER TABLE table_name DROP CONSTRAINT primary_key_constraint;

여기에 record라는 이름의 테이블이 있습니다. 레코드 테이블에서 id를 삭제하기 위한 쿼리는 다음과 같습니다.

ALTER TABLE record
DROP CONSTRAINT record_pkey;
postgres=# ALTER TABLE record
postgres-# DROP CONSTRAINT record_pkey;
ALTER TABLE

이제 테이블 설명을 살펴보겠습니다. 우리는 선을 보지 말아야 합니다.

"record_pkey" PRIMARY KEY, btree (id)

전체 열이 아니라 기본 키 제약 조건을 제거하기 때문에 ID 열은 여전히 테이블에 있습니다. 기본 키로 취급되지 않습니다.

\d 레코드를 입력하면 이제 다음과 같은 결과가 표시됩니다.

postgres=# \d record;
                       Table "public.record"
  Column  |         Type          | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
 id       | integer               |           | not null |
 username | character varying(50) |           |          |
 email    | character varying(50) |           |          |
 gender   | character varying(50) |           |          |
 company  | character varying(50) |           |          |


postgres=#

많은 ALTER TABLE 쿼리가 있습니다. 공식 문서를 볼 수 있습니다. 또한 기본 키 열을 편집할 수 있습니다. 즉, 기본 키를 변경할 수 있습니다.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

관련 문장 - PostgreSQL Key