PostgreSQL 자동 증가를 수행하는 방법

Postgresql Jadong Jeung Galeul Suhaenghaneun Bangbeob



PostgreSQL 데이터베이스의 고유 ID를 보장하는 한 가지 방법은 자동 증가 기능을 사용하는 것입니다. 활성화되면 이 기능은 테이블의 각 새 항목에 대해 고유한 ID를 생성합니다. 자동 증가를 사용하면 동일한 고유 식별자로 새 값을 삽입하려고 하면 오류가 발생합니다. 자동 증가는 다양한 인스턴스에서 사용될 수 있으며 고유 식별자 생성 방법을 정의할 수 있습니다. PostgreSQL 자동 증가에 대한 자세한 내용은 이 게시물에 자세히 설명되어 있습니다. 읽어!

PostgreSQL 자동 증가를 위한 두 가지 방법

데이터베이스를 생성할 때 테이블에 중복 항목이 나타나지 않도록 각 테이블에 기본 키가 있어야 합니다. 기본 키를 생성하는 한 가지 방법은 INT 데이터 유형에 대한 자동 증가 기능을 사용하는 것입니다. PostgreSQL은 모든 항목에 대해 기본 키 값을 생성하므로 개발자가 수동으로 기본 키를 입력해야 하는 번거로움을 덜 수 있습니다.

PostgreSQL 데이터베이스에서 자동 증가를 생성하는 데 사용할 수 있는 두 가지 접근 방식이 있습니다.







방법 1: SERIAL 의사 유형 사용

데이터베이스의 기본 키에 대한 자동 증가를 생성하는 기본 방법은 SERIEL 키워드를 사용하는 것입니다. SERIAL 의사 유형을 사용하면 값을 생성하는 시퀀스가 ​​생성됩니다. 시퀀스의 다음 값을 기록하고 새 값을 삽입할 때마다 고유한 ID가 할당됩니다.



이 자동 증가는 INT 데이터 유형에 할당되며 테이블이나 열이 삭제되면 삭제됩니다.



자동 증가를 생성하는 구문은 다음과 같습니다.





만들다 테이블 TABLE_NAME ( ID SERIAL 데이터_유형 ) ;

우리의 경우 자동 증가 및 기본 키로 'user_id'를 포함하는 'details'라는 테이블을 생성해 보겠습니다. 또한 두 개의 다른 열도 포함합니다.



테이블에 값을 삽입하려는 경우 다른 열에 대해서만 삽입하고 해당 값이 자동으로 생성되므로 자동 증가 열은 생략합니다. 다음은 테이블에 5개의 항목을 추가하는 예입니다.

SELECT 문을 사용하여 테이블 레코드를 확인할 때 'user_id' 열에 고유 ID가 포함되어 있다는 점에 유의하세요. 이 경우에는 1부터 시작하는 숫자입니다. 이것이 SERIAL 의사 유형을 사용하여 PostgreSQL 자동 증가를 수행하는 방법입니다.

방법 2: 시퀀스 생성

SERIAL 의사 유형을 사용하여 자동 증가 값을 생성하는 경우 고유 ID가 생성되는 방법을 제어할 수 없습니다. 이전 예에서는 고유한 ID가 1부터 시작하는 것을 확인했습니다. 그러나 이러한 값을 제어하려면 해당 값 생성을 시작할 지점을 정의하고 싶다면 사용자 지정 시퀀스를 만들어야 합니다.

PostgreSQL에는 자동 증가에 사용할 열 이름을 지정하고 열의 시작 값을 정의할 수 있는 SEQUENCE 옵션이 있습니다. 예를 들어 값을 100부터 시작하려면 다음과 같은 사용자 지정 시퀀스를 만듭니다.

CREATE SEQUENCE 컬럼_이름 시작_값;

시퀀스를 생성한 후 이제 테이블을 생성할 수 있습니다. 생성된 테이블의 'nextval('holder')'와 같이 시퀀스를 생성한 것과 동일한 열 이름을 사용해야 합니다. 이런 방식으로 PostgreSQL은 열의 고유 ID를 생성할 때 따라야 할 순서를 알기 위해 시퀀스를 참조합니다.

다음 명령을 실행하여 테이블을 생성합니다.

관련 열에 대해 생성된 테이블에 값을 삽입합니다.

테이블 항목을 나열하기 위해 'select' 쿼리를 실행하면 자동 증가를 제어할 수 있음을 알 수 있습니다. 'user_id' 열은 해당 값을 100에서 시작하고 테이블에 삽입하는 다른 항목에 대한 후속 값을 생성합니다.

이는 PostgreSQL에 대한 자동 증가를 생성하는 다른 방법입니다.

결론

자동 증가를 생성하면 테이블에 고유성을 생성하는 데 도움이 됩니다. 테이블의 기본 키를 정의하려면 INT 데이터 유형에 대한 자동 증가 기능을 사용하십시오. PostgreSQL은 자동으로 값을 생성하여 테이블에 중복이 없는지 확인합니다. PostgreSQL에 대한 자동 증가를 생성하는 방법을 정의하고 사용할 수 있는 두 가지 방법에 대한 두 가지 예를 제공했습니다. 두 가지 방법 모두 사용 중인 시나리오에 따라 적용 가능합니다. 시험해 보세요!