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