Возможно ли, что в какой-то момент у таблицы были идентификаторы выше, чем текущее значение AUTO_INCREMENT?
У меня есть таблица, которая действует как очередь. Я вставляю/удаляю 10-30 строк в секунду, и мне нужен столбец с автоматическим приращением, чтобы продолжать работу. Когда я сейчас вставляю строки, я получаю переработанный автоматический приращение (id), например: 374097
.
Вот таблица:
CREATE TABLE `test_table` (
`id` INT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
COLLATE='utf8_bin'
ENGINE=InnoDB
AUTO_INCREMENT=374098;
Есть еще одна таблица, которая использует этот id
в качестве внешнего ключа.
SELECT max(batch_id) from secondary_table;
Возвращает: 397959
. В какой-то момент у test_table были идентификаторы до 397959
, а AUTO_INCREMENT намного ниже!
Я читал об этом на https://dev.mysql.com/doc/refman/8.0/en/replication-features-auto-increment.html и я должен быть в безопасности - AUTO_INCREMENT устанавливается для простого первичного ключа.
Любая идея, могу ли я продолжать использовать AUTO_INCREMENT таким образом, или мне нужно использовать собственный идентификатор?