최신 웹 개발 튜토리얼
 

SQL AUTO INCREMENT 필드


자동 증가는 새로운 레코드를 테이블에 삽입되면 고유 번호를 생성 할 수있다.


AUTO INCREMENT하는 Field

수시로 우리는 자동으로 새 레코드가 삽입 될 때마다 생성되는 기본 키 필드의 값을 싶습니다.

우리는 테이블에 자동 증가 필드를 만들 싶습니다.


MySQL의 구문

다음 SQL 문은 정의 "ID" 의 자동 증가 기본 키 필드로 열을 "Persons" 테이블 :

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

MySQL은 자동 증가 기능을 수행 할 수 AUTO_INCREMENT 키워드를 사용합니다.

기본적 AUTO_INCREMENT위한 시작 값은 1이며, 각각의 새로운 레코드를 1 씩 증가한다.

AUTO_INCREMENT 시퀀스는, 다른 값으로 시작하는 다음과 같은 SQL 문을 사용하게하려면 :

ALTER TABLE Persons AUTO_INCREMENT=100

에 새 레코드를 삽입하려면 "Persons" 테이블, 우리는 값을 지정할 필요가 없습니다 것 "ID" (고유 한 값이 자동으로 추가됩니다) 칼럼 :

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

SQL 문은 위의에 새로운 레코드를 삽입 할 "Persons" 테이블. "ID" 열은 고유 한 값이 할당 될 것이다. "FirstName" 열이 설정 될 것이다 "Lars""LastName" 열이에 설정 될 것 "Monsen" .


SQL Server에 대한 구문

다음 SQL 문은 정의 "ID" 의 자동 증가 기본 키 필드로 열을 "Persons" 테이블 :

CREATE TABLE Persons
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

는 MS SQL Server는 자동 증가 기능을 수행 할 수 IDENTITY 키워드를 사용합니다.

위의 예에서, ID의 시작 값은 1이고, 각각의 새로운 기록에 대해 1 씩 증가한다.

팁 : 지정하려면 "ID" 열이, (5)에 의해 값이 10 증가에서 시작 IDENTITY (10,5)로 변경해야합니다.

에 새 레코드를 삽입하려면 "Persons" 테이블, 우리는 값을 지정할 필요가 없습니다 것 "ID" (고유 한 값이 자동으로 추가됩니다) 칼럼 :

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

SQL 문은 위의에 새로운 레코드를 삽입 할 "Persons" 테이블. "ID" 열은 고유 한 값이 할당 될 것이다. "FirstName" 열이 설정 될 것이다 "Lars""LastName" 열이에 설정 될 것 "Monsen" .


액세스를위한 구문

다음 SQL 문은 정의 "ID" 의 자동 증가 기본 키 필드로 열을 "Persons" 테이블 :

CREATE TABLE Persons
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

이동국 액세스는 자동 증가 기능을 수행 할 수 AUTOINCREMENT 키워드를 사용합니다.

기본적 AUTOINCREMENT위한 시작 값은 1이며, 각각의 새로운 레코드를 1 씩 증가한다.

팁 : 지정하려면 "ID" 열이, (5)에 의해 값이 10 증가에서 시작 AUTOINCREMENT (10,5)에 자동 증가를 변경해야합니다.

에 새 레코드를 삽입하려면 "Persons" 테이블, 우리는 값을 지정할 필요가 없습니다 것 "ID" (고유 한 값이 자동으로 추가됩니다) 칼럼 :

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

SQL 문은 위의에 새로운 레코드를 삽입 할 "Persons" 테이블. "P_Id" 열은 고유 한 값을 할당 할 것이다. "FirstName" 열이 설정 될 것이다 "Lars""LastName" 열이에 설정 될 것 "Monsen" .


오라클 구문

오라클의 코드는 조금 더 까다 롭습니다.

당신은 (이 개체는 숫자 시퀀스를 생성) 시퀀스 객체에 자동 증가 필드를 만들어야합니다.

다음과 같은 순서를 CREATE 구문을 사용합니다 :

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

위의 코드는 1로 시작하고 또한 성능을 10 값까지 캐시합니다 1 씩 증가합니다 seq_person라는 일련의 객체를 생성합니다. 캐시 옵션은 다수의 서열 값보다 빠른 액세스를 위해 메모리에 저장되는 방법을 지정한다.

에 새 레코드를 삽입하려면 "Persons" 테이블, 우리는 (이 기능은 seq_person 시퀀스에서 다음 값을 검색)를 NEXTVAL 기능을 사용해야합니다 :

INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')

SQL 문은 위의에 새로운 레코드를 삽입 할 "Persons" 테이블. "ID" 열은 seq_person 시퀀스에서 다음 번호가 할당된다. "FirstName" 열이 설정 될 것이다 "Lars""LastName" 열이에 설정 될 것 "Monsen" .