database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 2682 게시물 읽기
No. 2682
Re: PostgreSQL 에서의 자동증가값
작성자
정재익
작성일
2001-05-04 13:46
조회수
8,601

PostgreSQL 은 자동증가값이라는 것은 필드의 속성이 아닙니다. (mysql은 auto_increment 라는 필드 속성을 부여하면 자동으로 1씩 증가하는 필드가 만들어지지요) PostgreSLQ 의 경우에는 Sequence 라고 하는 특수한 객체를 이용합니다. 이 sequence 라는 것은 일종의 테이블인데 한번 nextval 이라는 함수와 같이 call 을 하게 되면 자동으로 1씩 증가되는 그런 객체이지요.

 

실제로 다음과 같이 사용합니다.

 

CREATE SEQUENCE student_no INCREMENT 3 START 1000;

 

// nextval 이라는 함수를 이용해서 이 sequence 를 호출하면 start_value 부터

// INCREMENT 만큼 증가된 값을 돌려 준다.

SELECT nextval('student_no');

// student_no 라는 sequence 객체가 어떻게 만들어 졌는지 보기 위해서...

SELECT student_no;

 

그리고 CREATE TABLE test (a serial, b text); 라고 하는 구문은 다음과 같이 선언됩니다.

 

CREATE SEQUENCE a_seq;

CREATE TABLE test (a int default nextval('a_seq'), b text);

 

이해가 가셨는지 모르겠습니다.

 

>>

yundream 님께서 쓰시길<<

 

::

:: mysql 에서는 autoencrement 를 쓰는데.

:: pgsql 의 serial 과는 약간 틀리군요..

::

:: mysql 은 단순히 현재 필드의 max 값에

:: 1을 더해주는 것이라서,

:: 실질적으로 유니크한 값을 만들어주지는

:: 못하는데에 비해,

::

:: serial 은 말그대로 serial, 유니크한 값을

:: 돌려주는 군요..

::

:: 이를테면 mysql 에서는 2번이 멕스일때..

:: 이걸 지우고 새로운 insert 가 일어나면,

:: 1+1 = 2 가 되는데,

:: pgsql 에서는 3이 되는군요..

:: 편하군요 //;

[Top]
No.
제목
작성자
작성일
조회
2672PostgreSQL 로그를 syslog 로 남겼을때의 문제점
정재익
2001-05-02
4622
2670Q] 필드안의 데이터수정..정규표현식?
신영훈
2001-05-01
3628
2671┕>Re: 표준 문자열 함수로 해결 할 수 있을듯.
김상기
2001-05-01 16:49:24
3873
2663postgreSQL start시키는법과 종료시키는법좀 가르쳐 주세요
이상학
2001-04-30
3387
2666┕>Re: postgreSQL start시키는법과 종료시키는법좀 가르쳐 주세요
정재익
2001-04-30 19:08:54
3977
2668┕>Re: postgreSQL start시키는법과 종료시키는법좀 가르쳐 주세요
김일형
2001-04-30 22:58:44
4363
2661수치형의 자동 증가.
꼬마
2001-04-30
4170
2662┕>Re: 수치형의 자동 증가.
정재익
2001-04-30 16:57:19
4100
2664 ┕>Re: Re: 수치형의 자동 증가.
꼬마.
2001-04-30 18:18:39
4050
2665  ┕>Re: Re: Re: 수치형의 자동 증가.
정재익
2001-04-30 19:02:04
4326
2678 ┕>mysql 의 자동증가와는 좀 다르군요..
yundream
2001-05-02 13:58:54
4394
2682  ┕>Re: PostgreSQL 에서의 자동증가값
정재익
2001-05-04 13:46:39
8601
2659PL/pgSQL - SQL Procedural Language 메뉴얼 번역 (I)
김일형
2001-04-30
5374
2660┕>Re: PL/pgSQL - SQL Procedural Language 메뉴얼 번역 (I)
정재익
2001-04-30 15:11:55
4181
2667 ┕>Re: Re: 좋습니다.... 그런데...
김일형
2001-04-30 22:51:51
3929
2669  ┕>Re: Re: Re: 영어 실력이야 뭐~~~
정재익
2001-04-30 23:27:27
3843
2656mysql의 order by rand() 와 같은 결과를 주는 쿼리는 어떻게?
김동관
2001-04-29
3967
2657┕>Re: mysql의 order by rand() 와 같은 결과를 주는 쿼리는 어떻게?
정재익
2001-04-30 00:26:56
4652
2775 ┕>Re: Re: mysql의 order by rand() 와 같은 결과를 주는 쿼리는 어떻게?
김상기
2001-05-22 01:05:18
4526
2654안녕하세요, PostgreSQL을 운영하게된 김일형입니다.
김일형
2001-04-28
4424
2655┕>Re: 안녕하세요, PostgreSQL을 운영하게된 김일형입니다.
정재익
2001-04-29 03:00:51
4612
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다