| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > Проблема с Unique индексами в VFoxPro 6 |
| Автор: VisualCraft 17.12.2003, 15:22 |
| В таблице два уникальных индексных поля. Первое - ключевое Primary (т.е. key), еще одно отдельное Unique само по себе. Первичный ключ правильно работает и не допускает одинаковых значений. Unique никак не работает и свободно пропускает одинаковые значения. Установил на него Order в свойствах таблицы, но и это не помогло. В чем дело и что делать? Пока выхожу из положения программным путем, проверяю Locate. Но это не есть гуд! Могу триггер и хранимую процедуру навернуть, но так не должно быть!!! Нафига тогда Unique?! |
| Автор: VisualCraft 17.12.2003, 17:19 |
| Все вопрос закрыт! Теперь все работает как надо. Оказывается Unique (уникальный индекс) оставлен в VFP для совместимости с предыдущими версиями... Она как!!! Тип остался, а функциональной нагрузки не несет. Следовательно, при переходе со старой версии на новую, в импортируемых базах работать не будет и повлечет ошибку в программе, которая "надеется" на защищенность уникального индекса. Вместо него следует использовать тип Candidate (тоже уникальный индекс). Наверное перевод "Кандидат" означает, что это кандидат в первичные ключи Непонятное решение ибо таким кандидатом мог бы быть любой уникальный (Unique) индекс при желании разработчиков. Зачем было плодить сущности без необходимости да еще и баги добавлять |