Как перезапустить подсчет из 1 после удаления таблицы в MS Access?
У меня есть таблица в MS Access, которая имеет тип AutoNumber
в поле ID
После ввода некоторых строк ID
стал 200
Затем я удалил записи в таблице. Однако, когда я попытался вставить новую строку, я вижу, что ID
начинается с 201
Как я могу принудительно перезапустить ID
с помощью 1
, не отбрасывая таблицу и не создавая новую?
Ответы
Ответ 1
Вы можете использовать:
CurrentDb.Execute "ALTER TABLE yourTable ALTER COLUMN myID COUNTER(1,1)"
Я надеюсь, что у вас нет отношений, которые используют эту таблицу, я надеюсь, что она пуста, и я надеюсь, что вы понимаете, что все, что вы можете (в основном) полагаться на автономер, является уникальным. В зависимости от обстоятельств вы можете получить пробелы, прыжки, очень большие или даже отрицательные числа. Если ваш autonumber означает что-то, у вас возникнет серьезная проблема, ожидающая его.
Ответ 2
В Access 2007 - 2010 перейдите в раздел "Инструменты базы данных" и нажмите "Компакт" и "Восстановите базу данных", и он автоматически будет reset идентификатором.
Ответ 3
В дополнение ко всем озабоченностям, высказанным о том, почему вы даете крысиной заднице то, что значение ID (все правильно, что вы не должны), позвольте мне добавить это в микс:
Если вы удалили все записи из таблицы, уплотнение базы данных приведет к reset исходному значению обратно к исходному значению.
В таблице, где есть записи, и вы добавили значение в поле Autonumber, которое меньше максимального значения, вы должны использовать метод @Remou для reset начального значения. Это также применимо, если вы хотите reset до Max + 1 в таблице, где записи были удалены, например, 300 записей, последний идентификатор 300, удалить 201-300, compact не будет reset счетчика (вы должны использовать метод @Remou - это было не так в более ранних версиях Jet и, действительно, в ранних версиях Jet 4, первая версия Jet, которая позволяла программно обрабатывать начальное значение).
Ответ 4
Я думаю, что единственные способы сделать это изложены в в этой статье.
В статье описаны несколько методов. Вот один пример:
Для этого в Microsoft Office Access 2007 выполните следующие действия:
Удалите поле AutoNumber из основной таблицы.