вопрос по mysql таблице с автоинскрементом

программирование программы php MySQL базы данных

Есть большая таблица mysql с автоискрементом. Иногда из нее удаляются записи. Отсюда такой вопрос, есть ли средства для восстановления, так сказать, целостности нумерации?
Например идут записи 1 2 3 4 5 6, запись 3 удалили, получилось 1 2 4 5 6. Можно ли сделать чтобы было 1 2 3 4 5? Или без сложного скрипта на php не обойтись?
Ответы:
В таких случаях используйте bigint, который может хранить число до 9223372036854775808. Если вставлять 1000 записей в секунду, то вы можете не беспокоится о истощении диапазона айдишников целых 292471208 лет. А что касается самого автоинкремента, то по идеи при истощении диаппазона (для вашего типа целых чисел), он должен сам искать пустые значения в нем и использовать их, но на практике не всегда бывает все так радужно и дыры в этом самом диаппазоне все-равно будут присутствовать (т.е. равномерного заполнения не будет). Мой совет назначьте bigint для счетчика и не парьтесь.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.