내용으로 건너뛰기
잡개발자 리토의 잡위키
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
미디어 관리자
사이트맵
로그인
>
미디어 관리자
사이트맵
기술문서:레퍼런스:쿼리:기본:일련번호_생성
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
{{htmlmetatags> metatag-description=(일련번호, Serial Number, 자동 증가, Auto Increment, 시퀀스, Sequence, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) metatag-og:description=(일련번호, Serial Number, 자동 증가, Auto Increment, 시퀀스, Sequence, 데이터베이스, DBMS, SQL, MySQL, MariaDB, MSSQL, Oracle, Tibero, PostgreSQL) }} ====== 일련번호 생성 ====== <note tip> 최소 지원 버전은 약간의 차이가 있을 수 있습니다.\\ - MySQL/MariaDB, PostgreSQL: 세부 버전까지 표시\\ - MSSQL, Oracle/Tibero: 제품 버전까지 표시 </note> ===== 테이블 명세 ===== ^ 논리명 ^ 물리명 ^ 타입 ^ 길이 ^ KEY ^ | 일련번호 | sn | 숫자형 | | PK | | 값 | value | 문자형 | 100 | | ===== MySQL/MariaDB ===== ==== 자동 증가 ==== <sxh sql; gutter: true; title: DDL;> /* MySQL 3.0 이상/MariaDB 5.1 이상 */ CREATE TABLE ex_serial_number ( sn BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (value) VALUES ('값'); </sxh> ==== 시퀀스 ==== <sxh sql; gutter: true; title: DDL;> CREATE TABLE ex_serial_number ( sn BIGINT NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); /* MariaDB 10.3 이상 */ CREATE SEQUENCE ex_serial_number_seq START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775806 -- 최댓값은 Signed BIGINT - 1 NOCYCLE CACHE 20 ; </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (sn, value) VALUES (NEXT VALUE FOR ex_serial_number_seq, '값'); -- INSERT INTO ex_serial_number (sn, value) VALUES (NEXTVAL('ex_serial_number_seq'), '값'); </sxh> ===== MSSQL ===== ==== 자동 증가 ==== <sxh sql; gutter: true; title: DDL;> /* MSSQL 7.0 이상 */ CREATE TABLE ex_serial_number ( sn BIGINT IDENTITY (1, 1) NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (value) VALUES ('값'); </sxh> ==== 시퀀스 ==== <sxh sql; gutter: true; title: DDL;> CREATE TABLE ex_serial_number ( sn BIGINT NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); /* MSSQL 2012 이상 */ CREATE SEQUENCE ex_serial_number_seq AS BIGINT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775806 -- 최댓값은 Signed BIGINT - 1 NO CYCLE CACHE 20 ; </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (sn, value) VALUES (NEXT VALUE FOR ex_serial_number_seq, '값'); </sxh> ===== Oracle/Tibero ===== ==== 자동 증가 ==== <sxh sql; gutter: true; title: DDL;> -- Oracle 12c 이상 CREATE TABLE ex_serial_number ( sn NUMBER GENERATED ALWAYS AS IDENTITY NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (value) VALUES ('값'); </sxh> ==== 시퀀스 ==== <sxh sql; gutter: true; title: DDL;> CREATE TABLE ex_serial_number ( sn NUMBER NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); /* Oracle 8i 이상/Tibero 6 이상 */ CREATE SEQUENCE ex_serial_number_seq START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 -- 최댓값은 양의 정수 28자리 NOCYCLE CACHE 20 NOORDER ; </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (sn, value) VALUES (ex_serial_number_seq.NEXTVAL, '값'); </sxh> ===== PostgreSQL ===== ==== 자동 증가 ==== <sxh sql; gutter: true; title: DDL;> /* PostgreSQL 8.4 이상 */ CREATE TABLE ex_serial_number ( sn BIGSERIAL NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); /* PostgreSQL 10 이상 */ CREATE TABLE ex_serial_number ( sn BIGINT GENERATED ALWAYS AS IDENTITY NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (value) VALUES ('값'); </sxh> ==== 시퀀스 ==== <sxh sql; gutter: true; title: DDL;> CREATE TABLE ex_serial_number ( sn BIGINT NOT NULL PRIMARY KEY, value VARCHAR(100) NOT NULL ); /* PostgreSQL 6.0 이상 */ CREATE SEQUENCE ex_serial_number_seq START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775806 -- 최댓값은 Signed BIGINT - 1 NO CYCLE CACHE 20 ; /* PostgreSQL 10.0 이상 */ CREATE SEQUENCE ex_serial_number_seq AS BIGINT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775806 -- 최댓값은 Signed BIGINT - 1 NO CYCLE CACHE 20 ; </sxh> <sxh sql; gutter: true; title: DML;> INSERT INTO ex_serial_number (sn, value) VALUES (NEXTVAL('ex_serial_number_seq'), '값'); </sxh> {{tag>"쿼리" "Query" "기본"}}
문서 도구
문서 보기
이전 판
맨 위로