powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Уникальность индекса нарушена
8 сообщений из 8, страница 1 из 1
Уникальность индекса нарушена
    #33618941
jonvtur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в конструкторе базы данных в таблице создаю Primary индекс по полю NAR(C,10) в Expression прописываю nar+dog+dtoc(dvn) - данная строка создает уникальность ключа, которая неповтояется и в таблице нет удаленных записей!
Выдает ошибку: Уникальность индекса NAR нарушена
Подскажите как исправить в конструкторе базы данных?
nar,dog,dvn - повторяющееся поле
nar+dog+dtoc(dvn)-получается уникальность
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619043
Трезвый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял, как вы из комбинации ПОВТОРЯЮЩИХСЯ полей хотите получить УНИКАЛЬНЫЙ ключ? Земля крутится и некоторые комбинации полей у вас совпадают.

Создайте одно, но действительно уникальное поле
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619058
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторnar,dog,dvn - повторяющееся поле
nar+dog+dtoc(dvn)-получается уникальность

Обьясните, почему если комбинация полей nar,dog,dvn является повторяющейся, то комбинация полей nar+dog+dtoc(dvn) не будет повторяющейся?

То что Вы привели поля к строковому виду не означает, что полученное выражение стало уникальным, так что правильно Фокс ругается.
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619094
jonvtur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nar**********dog***************dvn
----------------------------------------------------------------------
0263//05002***05002*************01.31.2000
0263//05002***05002*************02.28.2000
0263//05000***05002*************01.31.2000
0263//05001***05003*************02.28.2000
_____________________________________________________________
Если я создам ключ nar+dog=dtoc(dvn) по каждой записи у меня получится неповторяющиеся значения!
Если я думаю не так то подскажите как мне быть?
Мне надо связать 3 таблицы у которых имеются данные поля!
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619120
jonvtur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую еще детализировать!
У меня в таблице 1 в одной дате выписывается только один nar (это точно) и тот же nar выписывается в таблице 2 и 3 но там в 2 и з могут содержатся несколько таких записей! а одинаковые у 1, 2 и 3 таблицы поля nar, dog, dvn мне надо организовать связь 1 к 2 Главная 1 таблица!
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619148
jonvtur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е таблица 1 nar повторятеся но с разными dog и dvn
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33619953
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jonvturNar**********dog***************dvn
----------------------------------------------------------------------
0263//05002***05002*************01.31.2000
0263//05002***05002*************02.28.2000
0263//05000***05002*************01.31.2000
0263//05001***05003*************02.28.2000
_____________________________________________________________
Если я создам ключ nar+dog=dtoc(dvn) по каждой записи у меня получится неповторяющиеся значения!
Если я думаю не так то подскажите как мне быть?
Мне надо связать 3 таблицы у которых имеются данные поля!

На приведенных данных выполнение корректное

Код: plaintext
1.
2.
3.
4.
5.
CREATE CURSOR test (f1 c ( 200 ))
INDEX ON f1 TAG f1 candidat
INSERT INTO test (f1) VALUES ('0263//05002***05002*************01.31.2000')
INSERT INTO test (f1) VALUES ('0263//05002***05002*************02.28.2000')
INSERT INTO test (f1) VALUES ('0263//05000***05002*************01.31.2000')
INSERT INTO test (f1) VALUES ('0263//05001***05003*************02.28.2000')
...
Рейтинг: 0 / 0
Уникальность индекса нарушена
    #33625530
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi jonvtur!

1) Делать "связь" по такой жуткой комбинации полей не стоит - стоит завести
реально уникальное (ОДНО) поле, и уж по нему и связывать таблицы. Читай про
суррогатные ключи.
2) Вместо DTOC() в индексах ВСЕГДА стоит использовать DTOS()
3) Прежде чем создавать инекс выполни "поиск дубликатов" по своим 3-м полям
(т.е. по их комбинации) - как это делать - описано в нескольких FAQ. Вот
когда ты убедишься что дубликатов действительно нету - тогда и создавай
индекс.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Уникальность индекса нарушена
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]