Есть ли способ сказать MySQL не бросать при переполнении поля auto_increment? - PullRequest
0 голосов
/ 11 апреля 2020

С этот вопрос, MySQL выбрасывает при переполнении поля auto_increment. Однако в моем случае я хочу автоматически удалить старые данные. Есть ли способ для меня, чтобы сказать MySQL не бросать, когда поле переполняется? Я объявил PK в поле auto_increment.

1 Ответ

0 голосов
/ 11 апреля 2020

Даже если вы удаляете старые записи, автоинкремент никогда не перезапустит старые значения идентификатора. Это будет только увеличиваться. Даже если вы попытаетесь установить автоинкремент обратно на начало:

 ALTER TABLE mytable AUTO_INCREMENT=1;

Вы увидите, если SHOW CREATE TABLE mytable, что он игнорирует ваш запрос на установку значения 1, и увеличивает его до MAX (id) + 1.

Если вы полностью не очистите таблицу с помощью TRUNCATE TABLE, вы не сможете извлечь выгоду из очистки старых записей.

Просто используйте BIGINT, если вы хотите запустить из INT значений.

...