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

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

Неожиданный key violation в автоинк поле [D5, Paradox]


VladP ©   (2002-01-31 11:20:00) 

Здравствуйте!
Помогите, если кто сталкивался.
Есть таблица Paradox:
Id autoinc
Name Char(35)
...
Все работает замечательно до некоторого времени (1-2 месяца), когда на любое добавление (даже в не в Delphi, a в Database Desktop) выдается Key Violation!
Я вроде бы нашел решение, но оно не есть гуд. Если кому интересно, то помогает изменение типа поля с Autoinc на integer и затем опять на AutoInc.


VladP   (2002-02-03 16:02:00) [1]

>2Фэ
Извини, но что есть пересборка базы?


Фэ   (2002-02-03 13:57:00) [2]

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


VladP   (2002-02-03 10:25:00) [3]

>Haves
Спасибо за компонент, судя по описанию-именно то.


VladP   (2002-02-03 10:07:00) [4]

>Фэ
Почему плохой? По моему очень удобно. Попробуй делать выборку на a=max(id), потом добавлять новую запись с полученным значением+1, потом еще раз делать выборку на чтобы подсчитать кол-во полученных значений (a+1), а вдруг другой пользователь тоже самое сделал в это же время? Это было одним из плюсов из-за чего я перешел на Paradox.


Havez   (2002-02-02 18:24:00) [5]

Посмотри в кладовке, там есть пара компонентов с нужными функциями.


Фэ   (2002-02-01 21:37:00) [6]

Autoinc вообще плохой тон.
Кроме очень простых случаев.
А если крупную базу пересобрать надо ?


VladP   (2002-02-01 21:29:00) [7]

Может кто еще знает?


Fay   (2002-01-31 15:57:00) [8]

Лечится только твоим способом.


Наверх

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