| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Поиск и устранение "дырок" в таблице баз данных |
| Автор: byaka 19.7.2011, 13:38 |
| Была создана таблица с autoincrement по ID полю. Пока тестили базу , натолкали кучу товаров на 10000, потом их удалии, теперь хотелось бы, заполнить таблицу новыми товарами так, чтобы заполнить все удаленные поля с неиспользуемыми идентификаторами. Зачем? Программа, которая обращается к таблице ограничена 65000 записями и 10000 будут полезны. Подскажите что-то? |
| Автор: baldina 19.7.2011, 13:57 |
| зависит от СУБД. Если в таблице нет записей, то в большинстве случаев - TRUNCATE TABLE |
| Автор: byaka 19.7.2011, 14:00 | ||
Microsoft Access |
| Автор: Zloxa 19.7.2011, 14:01 |
я предполагаю только один случай, когда счетчик автоинкремента может сброситься транком, и то - не уверен. MyISAM? |
| Автор: byaka 19.7.2011, 14:02 | ||||
только мне не удалить надо, а сделать так, чтобы база начала инкремент с 1 и использовала незанятые значения для инкремента Добавлено через 2 минуты и 5 секунд вот, нарыл : http://support.microsoft.com/kb/812718/ru поробую |
| Автор: Zloxa 19.7.2011, 14:07 | ||
|
| Автор: byaka 19.7.2011, 14:22 | ||||
они предлагают скопировать в новую таблицу старую таблицу |
| Автор: Zloxa 19.7.2011, 14:38 | ||||
И где тут про сброс identity? Процитируй плиз.
Да, таки в масе все оказалось намного хуже.. В оракле принципиально нет автоинкрементных полей. ЭТо тупиковая ветвь эволюции СУБД. |
| Автор: byaka 19.7.2011, 14:40 | ||
не помогло, хотя мелкософт пишет, что все должно быть ок : http://office.microsoft.com/ru-ru/access-help/HP005187449.aspx ! |
| Автор: Zloxa 19.7.2011, 14:43 | ||||
черт, я баран....
|
| Автор: baldina 19.7.2011, 15:05 |
всегда помогало... какая версия access? какое расширение у файла БД? |
| Автор: byaka 19.7.2011, 15:27 | ||
access - 2003 sp3, файл mdb |
| Автор: baldina 19.7.2011, 16:32 |
| должно работать. счетчики не меняются в таблице, если она непуста. для пустой сбрасывается в 0 |
| Автор: byaka 19.7.2011, 16:42 | ||
так она не пуста, как обнулить, только копированим как пишет мелкософт? |
| Автор: baldina 19.7.2011, 17:59 |
| если не пуста, то наверно только копированием возможно быстрее будет через временные таблицы: 1. скопировать данные во временные таблицы при помощи INSERT INTO 2. очистить исходные таблицы 3. сжать 4. скопировать данные обратно |
| Автор: byaka 20.7.2011, 11:46 | ||
спс, попробую |
| Автор: baldina 20.7.2011, 11:51 |
SELECT INTO сорри |