Последовательности в MySQL

В этом учебном пособии вы узнаете, как создавать последовательности с использованием AUTO_INCREMENT в MySQL с синтаксисом и примерами.

Описание

В MySQL вы можете создать столбец, который содержит последовательность чисел (1, 2, 3 и т. Д.), Используя атрибут AUTO_INCREMENT. Атрибут AUTO_INCREMENT используется, когда вам нужно создать уникальный номер, чтобы задействовать его как первичный ключ в таблице.

Синтаксис

Синтаксис создания последовательности (или использования атрибута AUTO_INCREMENT) в MySQL:

CREATE TABLE table_name
(
column1 datatype NOT NULL AUTO_INCREMENT,
column2 datatype [ NULL | NOT NULL ],
...
);

Параметры или аргументы

AUTO_INCREMENT - атрибут, который нужно использовать, когда вы хотите, чтобы MySQL назначил полю автоматическую последовательность чисел (по сути, создал поле автонумерации).
NULL или NOT NULL - каждый столбец должен быть определен как NULL или NOT NULL. Если этот параметр опущен, база данных предполагает значение NULL по умолчанию.

Примечание

Вы можете использовать функцию LAST_INSERT_ID для поиска последнего значения, присвоенного полем AUTO_INCREMENT.

Пример

Рассмотрим пример использования последовательности или атрибута AUTO_INCREMENT в MySQL.
Например:

Этот пример MySQL AUTO_INCREMENT создает таблицу, с именем contacts, которая имеет 4 столбца и один первичный ключ:

  • Первый столбец называется contact_id, который создается как тип данных INT (максимальная длина 11 цифр) и не может содержать значения NULL. Он определяется как поле AUTO_INCREMENT, что означает, что это поле с автонумерацией (начиная с 1 и увеличивая на 1, если не указано иное).
  • Второй столбец называется last_name, который имеет тип данных VARCHAR (максимальная длина 30 символов) и не может содержать значения NULL.
  • Третий столбец называется first_name, который имеет тип данных VARCHAR (максимальная длина 25 символов) и может содержать значения NULL.
  • Четвертый столбец называется birthday, который является типом данных DATE и может содержать значения NULL.
  • Первичный ключ называется contacts_pk и устанавливается в столбец contact_id.

Установка начального значение AUTO_INCREMENT

Теперь, когда вы создали таблицу с использованием атрибута AUTO_INCREMENT, вы можете изменить начальное значение для поля AUTO_INCREMENT, если вы не хотите начинать с 1.

Вы можете использовать оператор ALTER TABLE для изменения или установки следующего значения, присвоенного AUTO_INCREMENT.

Синтаксис

В MySQL синтаксис изменения начального значения для столбца AUTO_INCREMENT с использованием оператора ALTER TABLE:

ALTER TABLE table_name AUTO_INCREMENT = start_value;

table_name - имя таблицы, значение AUTO_INCREMENT, которое вы хотите изменить. Поскольку таблица в MySQL может содержать только один столбец AUTO_INCREMENT, вам необходимо указать имя таблицы, содержащую последовательность. Вам не нужно указывать имя столбца, содержащего значение AUTO_INCREMENT.
start_value - следующее значение в последовательности для назначения в столбце AUTO_INCREMENT.

Пример

Рассмотрим пример того, как изменить начальное значение для столбца AUTO_INCREMENT в таблице в MySQL.
Например:

В этом примере MySQL мы заменим следующее значение в поле AUTO_INCREMENT (т.е. следующее значение в последовательности) на 50 для поля contact_id в таблице contacts.