Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 09:22   #1
Liones
Пользователь
 
Аватар для Liones
 
Регистрация: 26.11.2008
Сообщений: 81
По умолчанию автоинкрементное поле в Paradox

Проблема такая, есть таблица Paradox с автоинкементным полем ID. После очистки таблицы (EmptyTable), поле ID генерируется не с 1. Наверно как-то надо сжать таблицу, но не знаю как. Подскажите, пожалуйста.
Liones вне форума Ответить с цитированием
Старый 20.04.2009, 10:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

зависит от внутренней реализации автоинкремента в СУБД... думаю, что никакое "сжатие" не поможет...
"использованные коды" повторно выдаваться уже не будут...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2009, 10:36   #3
Liones
Пользователь
 
Аватар для Liones
 
Регистрация: 26.11.2008
Сообщений: 81
По умолчанию

как же быть, я пару раз очистила таблицу, и в итоге первое значение ID выдается 14719, я боюсь как бы в дальнейшем не было проблем
Liones вне форума Ответить с цитированием
Старый 20.04.2009, 11:36   #4
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

А в чем могут быть проблемы? Вообще-то предназначение автоинкрементного поля обеспечить уникальность каждой записи в таблице и не более. Внутри таблицы стоит специальный счетчик, который при каждом добавлении записи автоматически увеличивает свое значение на единицу. Этим гарантируется уникальность каждой вновь вводимой записи и обеспечивается целостность данных в связанных таблицах.

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

Может быть в Paradox и есть способы обнуления счетчика, я их не знаю. Если же вам приспичило обнулить счетчик, то можно таблицу удалить и создать заново.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 20.04.2009, 11:42   #5
Liones
Пользователь
 
Аватар для Liones
 
Регистрация: 26.11.2008
Сообщений: 81
По умолчанию

а у такого поля диапазон не ограничен?
Liones вне форума Ответить с цитированием
Старый 20.04.2009, 12:02   #6
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Конечно же ограничен. В мире вообще нет ничего безграничного.

LongInteger, если не ошибаюсь.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 20.04.2009, 12:12   #7
Liones
Пользователь
 
Аватар для Liones
 
Регистрация: 26.11.2008
Сообщений: 81
По умолчанию

вот, а насколько я знаю диапазон LongInteger -2147483648... 2147483647
Liones вне форума Ответить с цитированием
Старый 20.04.2009, 13:11   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
и в итоге первое значение ID выдается 14719
ну, ещё пару миллиардов записей сможете спокойно добавить...
потом, конечно, будут проблемы...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.04.2009, 13:48   #9
Liones
Пользователь
 
Аватар для Liones
 
Регистрация: 26.11.2008
Сообщений: 81
По умолчанию

ну пожалуй да, могу
Liones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК НА АВТОМАТЕ ДОБАВИТЬ ПОЛЕ В ФАЙЛ DB (Paradox) grenles БД в Delphi 7 07.05.2012 07:56
Paradox thourie БД в Delphi 1 07.12.2008 02:24
Поиск слова в поле типа МЕМО БД PARADOX KAZAKH БД в Delphi 2 05.06.2008 07:22
Поключение к Paradox alexfin БД в Delphi 3 17.02.2008 12:22
Таблицы Paradox Help User77 Помощь студентам 2 12.02.2008 17:15