>  기사  >  백엔드 개발  >  SQL AUTO INCREMENT 필드에 대한 설명

SQL AUTO INCREMENT 필드에 대한 설명

jacklove
jacklove원래의
2018-05-08 11:16:391480검색

자동 증가는 새 레코드가 테이블에 삽입될 때 고유 번호를 생성합니다. 이 기사에서는 이에 대해 자세히 설명합니다.

AUTO INCREMENT 필드

우리는 일반적으로 새 레코드가 삽입될 때마다 기본 키 필드의 값을 자동으로 생성하려고 합니다.

테이블에 자동 증가 필드를 만들 수 있습니다.

MySQL

구문 다음 SQL 문은 "Persons" 테이블의 "P_Id" 열을 자동 증가 기본 키로 정의합니다.

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

MySQL은 AUTO_INCREMENT 키워드를 사용하여 자동 증가 작업을 수행합니다.

기본적으로 AUTO_INCREMENT의 시작 값은 1이며 새 레코드가 나올 때마다 1씩 증가합니다.

AUTO_INCREMENT 시퀀스를 다른 값으로 시작하려면 다음 SQL 구문을 사용하세요.

ALTER TABLE Persons AUTO_INCREMENT=100

"Persons" 테이블에 새 레코드를 삽입하려면 값을 지정할 필요가 없습니다. "P_Id" 열의 경우(고유한 값이 자동으로 추가됩니다):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

위의 SQL 문은 새 레코드를 "사람" 테이블. "P_Id"에는 고유한 값이 할당됩니다. "FirstName" 열은 "Bill"로 설정되고 "LastName" 열은 "Gates"로 설정됩니다.

SQL Server 구문

다음 SQL 문은 "Persons" 테이블의 "P_Id" 열을 자동 증가 기본 키로 정의합니다.

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

MS SQL은 IDENTITY 키워드를 사용하여 자동 증가 작업을 수행합니다.

기본적으로 IDENTITY의 시작 값은 1이며 새 레코드마다 1씩 증가합니다.

"P_Id" 열이 20으로 시작하고 10씩 증가하도록 지정하려면 ID를 IDENTITY(20,10)로 변경하세요.

"Persons" 테이블에 새 레코드를 삽입하려면 값을 지정할 필요가 없습니다. "P_Id" 열의 경우(고유한 값이 자동으로 추가됩니다):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

위의 SQL 문은 새 레코드를 "사람" 테이블. "P_Id"에는 고유한 값이 할당됩니다. "FirstName" 열은 "Bill"로 설정되고 "LastName" 열은 "Gates"로 설정됩니다.

Access 구문

다음 SQL 문은 "Persons" 테이블의 "P_Id" 열을 자동 증가 기본 키로 정의합니다.

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

MS Access에서는 AUTOINCREMENT 키워드를 사용하여 자동 증가 작업을 수행합니다.

기본적으로 AUTOINCREMENT의 시작 값은 1이고 새 레코드마다 1씩 증가합니다.

"P_Id" 열이 20으로 시작하고 10씩 증가하도록 지정하려면 자동 증가를 AUTOINCREMENT(20,10)로 변경하세요.

"Persons" 테이블에 새 레코드를 삽입하려면 값을 지정할 필요가 없습니다. "P_Id" 열의 경우(고유한 값이 자동으로 추가됩니다):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates')

위의 SQL 문은 새 레코드를 "사람" 테이블. "P_Id"에는 고유한 값이 할당됩니다. "FirstName" 열은 "Bill"로 설정되고 "LastName" 열은 "Gates"로 설정됩니다.

Oracle용 구문

Oracle에서는 코드가 조금 더 복잡합니다.

순서 쌍을 통해 자동 증가 필드를 만들어야 합니다(이 객체는 일련의 숫자를 생성합니다).

다음 CREATE SEQUENCE 구문을 사용하세요:

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

위 코드는 1로 시작하는 seq_person이라는 시퀀스 개체를 생성하고 증가합니다. 1. 이 개체는 성능을 향상시키기 위해 10개의 값을 캐시 합니다. CACHE 옵션은 액세스 속도 향상을 위해 몇 개의 시퀀스 값이 저장되는지 지정합니다.

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

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

위의 SQL 문은 "Persons" 테이블에 새 레코드를 삽입합니다. "P_Id" 할당은 seq_person 시퀀스의 다음 번호입니다. "FirstName" 열은 "Bill"로 설정되고 "LastName" 열은 "Gates"로 설정됩니다.

관련 권장 사항:

SQL ALTER TABLE 문의 관련 작업 정보

SQL 실행 취소 인덱스, 테이블 및 데이터베이스에 대한 관련 지식

SQL DEFAULT 제약 조건에 대한 관련 지식

위 내용은 SQL AUTO INCREMENT 필드에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.