여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. SQL - AUTO INCREMENT 필드
SQL – AUTO INCREMENT 필드
2년전 작성
9개월전 수정

AUTO INCREMENT

AUTO INCREMENT을 사용하면 새 레코드가 테이블에 삽입될 때 고유 번호가 자동으로 생성된다.

종종 이것은 새 레코드가 삽입될 때마다 자동으로 생성되기를 원하는 기본 키 필드다.

구문

MySQL
“Personid” 열을 “Persons” 테이블의 AUTO INCREMENT 기본 키 필드로 정의
CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL은 AUTO_INCREMENT 키워드를 사용하여 자동 증가 기능을 수행한다.

기본적으로 시작 값 AUTO_INCREMENT은 1이며 새 레코드마다 1씩 증가한다.

시퀀스가 다른 값으로 시작하도록 하는 방법
ALTER TABLE Persons AUTO_INCREMENT=100;
고유한 값이 자동으로 추가되게 하는 방법
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

“Persons” 테이블에 새 레코드를 삽입하기 위해 “Personid” 열에 대한 값을 지정할 필요가 없다.

“Persons” 테이블에 새 레코드를 삽입한다.
“Personid” 열에는 고유한 값이 할당된다.
“FirstName” 열은 “Lars”로 설정되고 “LastName” 열은 “Monsen”으로 설정된다.

SQL Server
“Personid” 열을 “Persons” 테이블의 AUTO INCREMENT 기본 키 필드로 정의
CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS SQL Server는 IDENTITY키워드를 사용하여 자동 증가 기능을 수행한다.

위의 예에서 시작 값 IDENTITY은 1이고 새 레코드마다 1씩 증가한다.

⭐ “Personid” 열이 값 10에서 시작하고 5씩 증가하도록 지정하려면 IDENTITY(10,5)로 변경해야한다.

고유한 값이 자동으로 추가되게 하는 방법
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

“Persons” 테이블에 새 레코드를 삽입하기 위해 “Personid” 열에 대한 값을 지정할 필요가 없다.

“Persons” 테이블에 새 레코드를 삽입한다.
“Personid” 열에는 고유한 값이 할당된다.
“FirstName” 열은 “Lars”로 설정되고 “LastName” 열은 “Monsen”으로 설정된다.

MS Access
“Personid” 열을 “Persons” 테이블의 AUTO INCREMENT 기본 키 필드로 정의
CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS Access는 AUTOINCREMENT키워드를 사용하여 자동 증가 기능을 수행한다.

기본적으로 시작 값 AUTOINCREMENT은 1이며 새 레코드마다 1씩 증가한다.

⭐ “Personid” 열이 값 10에서 시작하고 5씩 증가하도록 지정하려면 AUTO INCREMENT를 AUTOINCREMENT(10,5)로 변경해야한다.

고유한 값이 자동으로 추가되게 하는 방법

“Persons” 테이블에 새 레코드를 삽입하기 위해 “Personid” 열에 대한 값을 지정할 필요가 없다.

“Persons” 테이블에 새 레코드를 삽입한다.
“Personid” 열에는 고유한 값이 할당된다.
“FirstName” 열은 “Lars”로 설정되고 “LastName” 열은 “Monsen”으로 설정된다.

Oracle

Oracle에서는 코드가 조금 더 까다롭다.

시퀀스 개체(이 개체는 숫자 시퀀스를 생성함)를 사용하여 자동 증가 필드를 만들어야한다.

CREATE SEQUENCE구문을 사용한다.

1부터 시작하여 1씩 증가하는 seq_person이라는 시퀀스 개체를 생성
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;

성능을 위해 최대 10개의 값을 캐시한다.
캐시 옵션은 더 빠른 액세스를 위해 메모리에 저장할 시퀀스 값의 수를 지정한다.

“Persons” 테이블에 새 레코드를 삽입
INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');

“Persons” 테이블에 새 레코드를 삽입하려면 nextval 함수를 사용해야 한다.
이 함수는 seq_person 시퀀스에서 다음 값을 검색한다.

“Persons” 테이블에 새 레코드를 삽입한다.
“Personid” 열에는 seq_person 시퀀스의 다음 번호가 할당된다.
“FirstName” 열은 “Lars”로 설정되고 “LastName” 열은 “Monsen”으로 설정된다.

참고

Mingg`s Diary
밍구
공부 목적 블로그