Почему Вы сделали бы жизнь своего пользователя менее удобной?
"Пароли / данные кредитной карты / и т.д. не должны быть сохранены", неверный аргумент: с автоматическим заполнением на браузеры в Mac OS X хранят такие значения в зашифрованной базе данных с полномочиями на приложение. С другой стороны, каков реалистический эффект autocomplete=off
? Пользователь собирается записать, что это в незашифрованном текстовом файле, или еще лучше, на постэтом отмечает присоединенный к экрану.
Хорошей вещью там является bookmarklets как тот Antti, упомянутый, и патчи, чтобы заставить механизм проигнорировать атрибут в целом .
Серьезно, я убеждаю Вас пересмотреть использование этого атрибута. Это делает не преимущество любой.
Сделайте newTable с полем ID как AutoNumber (все поля должны быть такими же, как в исходной таблице, кроме ID). Скопируйте все данные из originalTable в newTable:
INSERT INTO newTable SELECT * FROM originalTable
После заполнения данных удалите originalTable и переименуйте newTable в originalTable.
Таким образом, все «дыры» в автоматической нумерации сохранятся, и для newTable будет включена автоматическая нумерация.
PS Всегда старайтесь добавлять к своим ID внешние ключи. В этом случае, даже если некоторые данные будут удалены, вы, по крайней мере, сохраните согласованное состояние.
Идеальное решение, хотя сейчас уже слишком поздно. Мы должны были восстановить недостающие 500 записей в рабочую таблицу. Затем выполните запрос на добавление в основную таблицу. Это должно было включать поле Autonumber.
Согласитесь, но, возможно, захотите добавить ORDER BY, чтобы убедиться, что AutoNumber находится в правильном порядке. В противном случае ваши другие таблицы будут иметь неправильную ассоциацию идентификаторов.
INSERT INTO newTable SELECT * FROM originalTable ORDER BY ID
Вам также придется явно назвать поля вместо использования *
Если бы я мог добавить к приведенным ответам.
Малоизвестный факт о полях автонумерации доступа заключается в том, что их счетчик сбрасывается при сжатии и восстановлении базы данных.
I я также почти уверен, что если вы сделаете вставку, он БУДЕТ использовать числовое значение, которое предоставляется, а не следующее число в счетчике автонумерации, пока оно> (больше) внутреннего счетчика, хранящегося в поле автоматического номера вообще имеет смысл?)
Другими словами, вы МОЖЕТЕ сделать что-то подобное в совершенно новой таблице доступа, где счетчик должен быть установлен на 1 ...
INSERT INTO myTable (myAutoNumber,myOtherField) VALUES (10000,'other data')
Другие решения, упомянутые здесь, лучше, потому что они будут делать Лучшая работа по обеспечению результата, поэтому я упоминаю об этом почти из академических соображений.
Сет