집 >데이터 베이스 >MySQL 튜토리얼 >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>
이 오류는 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에서 자동 증가 열을 어떻게 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!