Использую базу данных MySQL.
После добавления оказалось, что в поле поля id с включенным автоинкрементом, имеется пропуск одного значения Id в двух местах таблицы. Это не критично, но возникает вопрос: Как это возможно?
Перед добавлением записей, таблица была очищена и автоинкемент был приведен к значению 1
Я вижу два варианта.
https://dev.mysql.com/doc/refman/8.0/en/innodb-auto-increment-handling.html
Дополню ответ @Denys Siebov ещё одним вариантом:
2+ пользователя (или потока) одновременно добавляют записи в таблицу. В этом случае может возникнуть ситуация когда до commit
оба пользователя получили два последовательных id
. По какой-то причине (нарушение уникального ключа, нарушение CHECK constraint
, и т.д.) одна из транзакций тихо откатилась. AUTOINCREMENT
cчетчик назад не откатывается - в итоге у вас дырка в последовательности.
NOTE: AUTO_INCREMENT
не гарантирует непрерывную последовательность генерируемых ID
. В случае репликации дырки также могут возникать по "внутренним" для MySQL причинам.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно создать БД в которой есть таблица Кружок( есть название, адрес, максколичество детей), таблица Тренер, который может вести несколько...
есть колонка с примерным значением "text-text-20-11-2018"Подскажите пожалуйста, как я могу удалить эту дату из конца строк в которых она есть (есть...
Изображение: 1920х1080pxВнутри <body> конечно же есть внутренние элементы