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

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

как обнулить (обновить) поле Autoincrement(+)


oleg_v ©   (2006-10-30 13:55:00) 

Вопрос такой: как обнулить (обновить) поле Autoincrement(+), базы *.db после удаления записи или задать число с которого оно будет нумировать поля?
Зарание спасибо!


Германн   (2006-10-31 20:14:00) [1]


> DbiDoRestructure не помог с обнулением, но зато получилось
> с упаковкой таблице

Именно для "упаковки" таблицы я и советовал эту процедуру.


oleg_v   (2006-10-31 12:49:00) [2]

Добрый день Мастера, спасибо за ответы и за комментарии! Таблица одна и поле «+» не используется для связи…. Если была бы связь между таблицами – этого вопроса бы небело… DbiDoRestructure не помог с обнулением, но зато получилось с упаковкой таблице, по совету Romkin, отдельное спасибо, получилось и обнулить «+»….
На этом тему считать закрытой.


Германн   (2006-10-31 02:09:00) [3]


> Германн ©   (31.10.06 01:57) [14]
>

Ответ прошу читать как
Дык "если не одна и номер используется для связи", то у него и без обнуления будут проблемы.


Германн   (2006-10-31 02:05:00) [4]


> Anatoly Podgoretsky ©   (31.10.06 01:35) [13]
>
> > Германн  (31.10.2006 0:56:10)  [10]
>
> А может и нет, во первых никто еще не добрался, а во вторых
> база лопнет.
>

Не знаю, сам не видел, поэтому умолчу. (Да и кстати, AFAIR я произнёс без достаточных оснований). Но у меня в программе таблица под кодовым названием "Журнал событий" имеет автоинкрементное поле. До предельного размера парадоксовской таблицы (Table is full) сей журнал, благодаря безалаберности некоторых пользователей уже пару раз добирался. Но каких-либо ошибок связанных с превышением Max(LongInteger) пока никто не сообщал.


Германн   (2006-10-31 01:57:00) [5]


> Anatoly Podgoretsky ©   (31.10.06 01:33) [11]
>
> > Германн  (31.10.2006 0:29:07)  [7]
>
> Это если у него одна таблица и номер не используется для
> связи.

Дык "если не одна" или "номер используется для связи", то у него и без обнуления будут проблемы.


Anatoly Podgoretsky   (2006-10-31 01:35:00) [6]

> Германн  (31.10.2006 0:56:10)  [10]

А может и нет, во первых никто еще не добрался, а во вторых база лопнет.


Anatoly Podgoretsky   (2006-10-31 01:34:00) [7]

> Sam Stone  (31.10.2006 0:33:08)  [8]

А вдруг не хватит или вдруг у него психологические заморочки.


Anatoly Podgoretsky   (2006-10-31 01:33:00) [8]

> Германн  (31.10.2006 0:29:07)  [7]

Это если у него одна таблица и номер не используется для связи.


Германн   (2006-10-31 00:56:00) [9]

Хотя если автор уже добрался до "10-значного" значения, то можно и не суетиться. Скоро само обнулится, AFAIK.


Германн   (2006-10-31 00:52:00) [10]


> И все равно, нафига? Числа что ли экономить? :)
>

Ну может автор эстет? И его чувства "коробит" от ненулевого начала? :-)


Sam Stone   (2006-10-31 00:33:00) [11]

> И хотя "обнуление" автоинкремента даже в этом случае, имхо
> малоосмысленно, но всё же не криминал.

И все равно, нафига? Числа что ли экономить? :)


Германн   (2006-10-31 00:29:00) [12]


> Anatoly Podgoretsky ©   (30.10.06 15:32) [6]
>
> И что ты будешь постоянно это делать, после удалений и тогда
> сразу возникает вопрос о дырках.
> Это извращение и придуман автоинкримент не для этого, это
> даже видно из названия, а возможные проблемы при повторном
> использовании, как потом будешь разруливать.
>

Но не в данном случае, Анатолий. Автор хочет "обнулить" автоинкремент после удаления всехзаписей в таблице. Что ясно из его предыдущего поста, который он видимо потерял. И хотя "обнуление" автоинкремента даже в этом случае, имхо малоосмысленно, но всё же не криминал.


Anatoly Podgoretsky   (2006-10-30 15:32:00) [13]

И что ты будешь постоянно это делать, после удалений и тогда сразу возникает вопрос о дырках.
Это извращение и придуман автоинкримент не для этого, это даже видно из названия, а возможные проблемы при повторном использовании, как потом будешь разруливать.


Германн   (2006-10-30 14:37:00) [14]

2 oleg_v   (30.10.06 14:25) [4]
Так ты пробовал DbiDoRestructure?


oleg_v   (2006-10-30 14:25:00) [15]


> Германн ©   (30.10.06 14:21) [2]
> http://www.delphimaster.ru/cgi-bin/forum.pl?id=1162031764&n=18

это конечно не напрягает, но если первое значение начинается с 10 значного числа это не очень.....


oleg_v   (2006-10-30 14:22:00) [16]

a программно из Delphi это сделать можно?


Германн   (2006-10-30 14:21:00) [17]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1162031764&n=18


Romkin   (2006-10-30 14:20:00) [18]

Это не база, а таблица. Смени в DatabaseDesktop тип поля на integer, и потом обратно на autoinc


Наверх

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