Автоинкремент в таблице (базе данных) - PullRequest
0 голосов
/ 26 декабря 2011

Я пытался составить таблицу задач, очень часто добавлял / удалял предметы.Когда приложение работает, таблица используется для хранения поставленной в очередь задачи и ее удаления из очереди.

Когда приложение прерывается (перезапускается), следующий жизненный цикл приложения продолжает работать с незавершенными задачами и, возможно, снова добавляет новые задачи.

Таблица выглядит следующим образом:

table Tasks
{
   int ID auto increment

   // another columns
}

Как мы знаем, идентификатор всегда увеличивается, даже если мы удаляем предыдущую запись.что произойдет, если идентификатор достиг int.MaxValue, а затем я снова добавил несколько новых записей?Идентификатор будет сброшен в 1, увеличиваясь до 2,3,4 ... поиск неиспользуемого идентификатора?Если нет, как сделать откат идентификатора на 1 (или любой свободный идентификатор) снова?

1 Ответ

0 голосов
/ 26 декабря 2011

в MySQL

alter table tbl auto_increment=1;  

Но ВЫ должны запустить эту команду, ничего не происходит само по себе.или создайте его как триггер перед обновлением / вставкой.При попытке ввода записи, которая будет превышать максимальное значение вашего идентификатора, вы получите сообщение об ошибке.

http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html в качестве дополнительной информации

ПРЕДУПРЕЖДЕНИЕ: выполнение вышеуказанного можетвызвать проблемы с уникальностью или связями, если более ранние записи остаются.

...