Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как пересоздать индексы?


lexxvlad ©   (2002-02-06 12:50:00) 

Имеется автоинкрементное поле (первичный ключ). Количество записей может достигать сотен тысяч. Иногда (в силу ряда причин) таблицу приходится стирать (метод Empty) и заполнять заново. Так вот автоинкрементное поле не начинает при этом нумерацию с еденицы, а продолжает свою нумерацию, при этом значения начинают достигать десятки миллионов, что не есть гуд.
Как нибудь можно от этого избавиться?
Вариант удалить таблицу совсем и заново создать просьба не предлагать, хотя это тоже выход :))


lexxvlad   (2002-02-12 10:39:00) [1]

Поторопился написать предыдущее сообщение :)) Способ предложенный Desdechado тут тоже подойдет.


lexxvlad   (2002-02-12 10:36:00) [2]

>>>Desdechado
В DataBase Desktop получилось, надо теперь програмно попробовать.
Но это происходит при условии, что таблица пуста - хотя у меня как раз такой случай.

Ну уж в продолжение теперь интересно можно ли переиндексировать с начала заполненую базу, не очищая ее? (Например счетчик начинается с 3000000, а охото чтоб с 0 был)


Desdechado   (2002-02-12 10:21:00) [3]

проще поменять тип поля на Integer, а потом опять на автоинкрементное - счетчик будет сначала


Johnmen   (2002-02-12 10:19:00) [4]

Не знаю как в Парадокс, а в правильных БД после переполнения автоинка отсчет начнется заново...


lexxvlad   (2002-02-12 10:11:00) [5]

>>Alexandr
А можно попдробней про байтик, какой именно?


lexxvlad   (2002-02-12 10:08:00) [6]

>>Johnmen
ну в этом нет ничего хорошего, это точно. Тем более что и предел есть всетаки и в один прекрасный день он может быть преодален :(


Alexandr   (2002-02-12 10:07:00) [7]

там байтик в файле изменить можно, и счетчик установится куда изменишь.
По другому никак.


Johnmen   (2002-02-12 10:03:00) [8]

>>>при этом значения начинают достигать десятки миллионов, что не есть гуд.

А что тебя в этом смущает ???


lexxvlad   (2002-02-12 09:58:00) [9]

База Парадокс, движок - BDE. Не очень эвектный способ удалять поля и таблицу полностью, тут свои проблемы и неудоства. В частности заново нужно будет создать все ключи, связи и т.д. и т.п.


Alexandr   (2002-02-12 09:44:00) [10]

в таком случае, еще можно удалив базу и создав ее заново...


sunwheel   (2002-02-12 09:35:00) [11]

Насколько я знаю, гарантированно сбросить нумерацию можно удалив поле, а затем создав его заново.


Alexandr   (2002-02-12 07:43:00) [12]

хоть бы написал, какая БД


lexxvlad   (2002-02-12 07:42:00) [13]

подъем темы :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо