Последние учебники веб-разработки
 

SQL AUTO ИНКРЕМЕНТ поле


Автоинкрементная позволяет уникальное число, генерируемое, когда новая запись вставляется в таблицу.


AUTO ИНКРЕМЕНТ поле

Очень часто мы хотели бы значение поля первичного ключа, которая будет создана автоматически каждый раз, когда новая запись вставляется.

Мы хотели бы создать поле Автоинкрементная в таблице.


Синтаксис для 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 использует Идентичность ключевое слово, чтобы выполнить функцию автоматического приращения.

В приведенном выше примере начальное значение для Идентичность 1, и она будет увеличиваться на 1 для каждой новой записи.

Совет: Для того, чтобы указать , что "ID" столбец должен начинаться при значении 10 и приращении на 5, изменить его на тождестве (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)
)

MS Access использует AUTOINCREMENT ключевое слово, чтобы выполнить функцию автоматического приращения.

По умолчанию начальное значение для Autoincrement равно 1, и она будет увеличиваться на 1 для каждой новой записи.

Совет: Для того, чтобы указать , что "ID" столбец должен начинаться при значении 10 и приращении на 5, изменить автоинкрементного к автоинкрементация (10,5).

Для того, чтобы вставить новую запись в "Persons" таблицы, мы не должны указать значение для "ID" столбце (уникальное значение будет добавлено автоматически):

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

SQL выше утверждение будет вставить новую запись в "Persons" таблицы. "P_Id" колонка будет присвоено уникальное значение. "FirstName" столбец должен быть установлен на "Lars" и "LastName" столбец должен быть установлен на "Monsen" .


Синтаксис для Oracle

В Oracle код немного сложнее.

Вы должны создать поле Автоинкрементная с объектом последовательности (этот объект генерирует последовательность чисел).

Используйте следующий синтаксис CREATE SEQUENCE:

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

Приведенный выше код создает объект последовательности под названием seq_person, который начинается с 1 и будет увеличиваться на 1. Он также будет кэшировать до 10 значений для повышения производительности. Опция кэша определяет, сколько значений последовательности будут сохранены в памяти для быстрого доступа.

Для того, чтобы вставить новую запись в "Persons" таблицы, мы будем использовать функцию NEXTVAL (эта функция возвращает следующее значение из последовательности seq_person):

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

SQL выше утверждение будет вставить новую запись в "Persons" таблицы. "ID" столбец будет присвоен следующий номер из последовательности seq_person. "FirstName" столбец должен быть установлен на "Lars" и "LastName" столбец должен быть установлен на "Monsen" .