Подтвердить что ты не робот

Столбец автоинкремента MySQL перескакивает на 10 - почему?

У меня есть пара таблиц, в которых я создал идентификатор объекта как Int или Bigint, и в обоих случаях они кажутся автоинкрементами на 10 (т.е. первая вставка - это идентификатор объекта 1, второй - идентификатор объекта 11, третий - идентификатор объекта 21 и т.д.). Два вопроса:

  • Зачем это происходит?

  • Это проблема?

4b9b3361

Ответ 1

Убедитесь, что начальное значение автоинкремента не установлено равным 10.

Вы можете проверить:

SELECT Auto_increment FROM information_schema.tables WHERE table_name='the_table_you_want';

Как уже упоминалось в другом месте, вы можете изменить с помощью системной переменной @@set_auto_increment_increment

SET @@auto_increment_increment=1;

Если вы хотите запустить значения с числом, отличным от одного, вы можете пойти:

ALTER TABLE tbl AUTO_INCREMENT = 100;

Ответ 3

Спасибо @Jim Fiorato за предоставленную ссылку.

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

SHOW VARIABLES LIKE 'auto_inc%';

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 10    |
| auto_increment_offset    | 4     |
+--------------------------+-------+

Ответ 5

Значение autoincriment может скачкообразно сказываться при использовании вставки с атрибутом IGNORE в случае, если запись не была создана

insert IGNORE into my_table set column=1