Вниз
Скачать: CL | DM;

Как пересоздать индексы?   Найти похожие ветки 

← →
lexxvlad ©   (2002-02-06 12:50) [0]

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


← →
lexxvlad ©   (2002-02-12 07:42) [1]

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


← →
Alexandr ©   (2002-02-12 07:43) [2]

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


← →
sunwheel ©   (2002-02-12 09:35) [3]

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


← →
Alexandr ©   (2002-02-12 09:44) [4]

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


← →
lexxvlad ©   (2002-02-12 09:58) [5]

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


← →
Johnmen ©   (2002-02-12 10:03) [6]

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

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


← →
Alexandr ©   (2002-02-12 10:07) [7]

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


← →
lexxvlad ©   (2002-02-12 10:08) [8]

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


← →
lexxvlad ©   (2002-02-12 10:11) [9]

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


← →
Johnmen ©   (2002-02-12 10:19) [10]

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


← →
Desdechado ©   (2002-02-12 10:21) [11]

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


← →
lexxvlad ©   (2002-02-12 10:36) [12]

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

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


← →
lexxvlad ©   (2002-02-12 10:39) [13]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.007 c
7-32583
harisma
2001-12-06 13:14
2002.03.11
Очень надо!!!


14-32569
ev
2002-01-26 14:11
2002.03.11
Операционная система


7-32592
Ajax
2001-11-23 17:23
2002.03.11
Включить комп через локалку


7-32591
Dmitry V. Averuanov
2001-09-24 14:22
2002.03.11
Как выключить компьютер по Windows 2000


3-32428
TSV
2002-02-08 10:26
2002.03.11
Господа, есть вопрос по Access.




   Наверх