В этом учебном пособии вы узнаете, как создавать последовательности с использованием AUTO_INCREMENT в MySQL с синтаксисом и примерами.
Описание
В MySQL вы можете создать столбец, который содержит последовательность чисел (1, 2, 3 и т. Д.), Используя атрибут AUTO_INCREMENT. Атрибут AUTO_INCREMENT используется, когда вам нужно создать уникальный номер, чтобы задействовать его как первичный ключ в таблице.
Синтаксис
Синтаксис создания последовательности (или использования атрибута AUTO_INCREMENT) в MySQL:
(
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.
Например:
1 2 3 4 5 6 7 |
CREATE TABLE contacts ( contact_id INT(11) NOT NULL AUTO_INCREMENT, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_pk PRIMARY KEY (contact_id) ); |
Этот пример 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:
table_name - имя таблицы, значение AUTO_INCREMENT, которое вы хотите изменить. Поскольку таблица в MySQL может содержать только один столбец AUTO_INCREMENT, вам необходимо указать имя таблицы, содержащую последовательность. Вам не нужно указывать имя столбца, содержащего значение AUTO_INCREMENT.
start_value - следующее значение в последовательности для назначения в столбце AUTO_INCREMENT.
Пример
Рассмотрим пример того, как изменить начальное значение для столбца AUTO_INCREMENT в таблице в MySQL.
Например:
1 |
ALTER TABLE contacts AUTO_INCREMENT = 50; |
В этом примере MySQL мы заменим следующее значение в поле AUTO_INCREMENT (т.е. следующее значение в последовательности) на 50 для поля contact_id в таблице contacts.