>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 자동 증가 열을 어떻게 구현합니까?

PostgreSQL에서 자동 증가 열을 어떻게 구현합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-22 11:32:09467검색

How Do I Implement Auto-Incrementing Columns in PostgreSQL?

PostgreSQL에서 자동 증가 열 구현

PostgreSQL에서 기본 키에 자동으로 번호를 매기기 위해 AUTO_INCREMENT를 사용하려고 하면 오류가 발생할 수 있습니다. 다음 SQL은 AUTO_INCREMENT를 사용하여 테이블 생성을 시도하는 예를 보여줍니다.

<code class="language-sql">CREATE TABLE Staff   (
  ID        INTEGER NOT NULL AUTO_INCREMENT,
  Name      VARCHAR(40) NOT NULL,
  PRIMARY KEY (ID)
);</code>

그러나 오류가 반환됩니다:

<code>ERROR: ERROR: syntax error at or near "AUTO_INCREMENT"
SQL state: 42601
Character: 63</code>

PostgreSQL 버전 및 자동 증가

이 오류는 AUTO_INCREMENT가 PostgreSQL의 자동 증가에 유효한 구문이 아니기 때문에 발생합니다. 대신 PostgreSQL 버전에 따라 다른 메커니즘이 사용됩니다.

PostgreSQL 10 이상

PostgreSQL 10 이상의 경우 IDENTITY 열 유형을 사용하세요. 구문은 다음과 같습니다.

<code class="language-sql">CREATE TABLE staff (
  staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  staff    text NOT NULL
);</code>

PostgreSQL 9.6 이하

PostgreSQL 9.6 이하의 경우 직렬 데이터 유형을 사용하세요.

<code class="language-sql">CREATE TABLE staff (
  staff_id serial PRIMARY KEY,
  staff    text NOT NULL
);</code>

직렬 의사 데이터 유형은 자동으로 시퀀스 객체를 생성하고 DEFAULT를 시퀀스의 다음 값으로 설정합니다.

기타 참고사항

  • PostgreSQL에서 더 쉽게 사용할 수 있도록 따옴표가 없는 유효한 소문자 식별자를 사용하세요.
  • 필요에 따라 OVERRIDING {SYSTEM|USER} VALUE를 사용하여 INSERT 명령에서 시스템 값이나 사용자 입력을 재정의합니다.

위 내용은 PostgreSQL에서 자동 증가 열을 어떻게 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.