Как сделать auto increment в mysql?

Пользователь

от jorge , в категории: SQL , 2 года назад

Как сделать auto increment в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elda , год назад

@jorge 

Для того чтобы создать столбец с автоинкрементом в MySQL, нужно использовать следующую конструкцию:

1
2
3
4
CREATE TABLE tablename (
  id INT AUTO_INCREMENT PRIMARY KEY,
  ...
);


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


Вы также можете указать начальное значение и шаг инкремента, используя следующую конструкцию:

1
2
3
4
CREATE TABLE tablename (
  id INT AUTO_INCREMENT PRIMARY KEY,
  ...
) AUTO_INCREMENT = start_value;


Например, чтобы указать начальное значение равное 100 и шаг инкремента равный 10, нужно использовать следующую конструкцию:

1
2
3
4
CREATE TABLE tablename (
  id INT AUTO_INCREMENT PRIMARY KEY,
  ...
) AUTO_INCREMENT = 100;


Обратите внимание, что начальное значение и шаг

Пользователь

от lamar , год назад

@jorge 

Для создания auto increment поля в MySQL нужно при создании таблицы указать свойство AUTO_INCREMENT для нужной колонки. Например, следующий SQL запрос создаст таблицу с полем id, которое будет автоматически увеличиваться с каждой новой записью:


CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(50), PRIMARY KEY (id) );


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


Если вы пишете запрос на добавление записи в эту таблицу, то значение id можно не указывать, оно будет автоматически сгенерировано.


INSERT INTO users (name, email) VALUES ('John', '[email protected]');


Таким образом, поля name и email будут заполнены переданными значениями, а для поля id будет автоматически сгенерирован уникальный индентификатор.