SQL 자동 증가
새 레코드가 테이블에 삽입되면 자동 증가 기능으로 고유한 숫자가 생성됩니다.
AUTO INCREMENT 필드
일반적으로 새 레코드가 삽입될 때마다 기본 키 필드의 값을 자동으로 생성하려고 합니다.
테이블에 자동 증가 필드를 만들 수 있습니다.
MySQL 구문
다음 SQL 문은 "Persons" 테이블의 "ID" 열을 자동 증가 기본 키 필드로 정의합니다.
(
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 구문을 사용하십시오.
"Persons" 테이블에 새 레코드를 삽입하기 위해 "ID" 열의 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨).
VALUES ( 'Lars','Monsen')
위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "ID" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.
SQL Server 구문
다음 SQL 문은 "Persons" 테이블의 "ID" 열을 자동 증가 기본 키 필드로 정의합니다.
(
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 키워드를 사용하여 자동 증가 작업을 수행합니다.
위 예에서 IDENTITY는 1에서 시작하여 새 레코드가 나올 때마다 1씩 증가합니다.
팁: "ID" 열이 10에서 시작하고 5씩 증가하도록 지정하려면 ID를 IDENTITY(10,5)로 변경합니다.
"Persons" 테이블에 새 레코드를 삽입하기 위해 "ID" 열의 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨).
VALUES ('Lars','Monsen')
위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "ID" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.
액세스 구문
다음 SQL 문은 "Persons" 테이블의 "ID" 열을 자동 증가 기본 키 필드로 정의합니다.
(
ID 정수 PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
MS Access는 AUTOINCREMENT 키워드를 사용하여 자동 증가 작업을 수행합니다.
기본적으로 AUTOINCREMENT는 1에서 시작하여 새 레코드가 나올 때마다 1씩 증가합니다.
팁: "ID" 열이 10에서 시작하고 5씩 증가하도록 지정하려면 자동 증가를 AUTOINCREMENT(10,5)로 변경하세요.
"Persons" 테이블에 새 레코드를 삽입하기 위해 "ID" 열의 값을 지정할 필요가 없습니다(고유한 값이 자동으로 추가됨).
VALUES ('Lars','Monsen')
위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "ID" 열에는 고유한 값이 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.
Oracle 구문
Oracle에서는 코드가 좀 더 복잡합니다.
시퀀스 개체(숫자 시퀀스 생성)에서 자동 증가 필드를 생성해야 합니다.
다음 CREATE SEQUENCE 구문을 사용하세요:
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
위 코드는 1로 시작하고 1씩 증가하는 seq_person이라는 시퀀스 개체를 생성합니다. 이 개체는 성능 향상을 위해 10개의 값을 캐시합니다. 캐시 옵션은 액세스 속도를 향상시키기 위해 저장할 시퀀스 값 수를 지정합니다.
"Persons" 테이블에 새 레코드를 삽입하려면 nextval 함수(seq_person 시퀀스에서 다음 값을 검색함)를 사용해야 합니다.
VALUES (seq_person.nextval,'Lars','Monsen')
위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "ID" 열에는 seq_person 시퀀스의 다음 번호가 할당됩니다. "FirstName" 열은 "Lars"로 설정되고 "LastName" 열은 "Monsen"으로 설정됩니다.