Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Вниз

Первичный ключ   Найти похожие ветки 

 
Belkova   (2003-07-17 09:05) [0]

Мастера! Подскажите в чем дело, создаю первичный ключ по 2 полям на что выдается сообщение об ошибке. Если по одному полю, то все проходит нормально. Подскажите, кто знает. Заранее спасибо.
Attempt to store duplicate value (visible to active transactions) in unique index "RDB$PRIMARY91"
null segment of UNIQUE KEY
Statement: Alter Table List_Order
Add Constraint PK_LO Primary Key(L_O_Id, OwnerNew)


 
Johnmen   (2003-07-17 09:10) [1]

Одно из полей, которое должно войти в индекс, не имеет в описании предиката NOT NULL, или имеется дубликат предполагаемого ключа...


 
Sergey13   (2003-07-17 09:11) [2]

Во втором поле встречаются дубликаты записей, отчего ПК перестает быт уникальным. Избавься от дубликатов.


 
Belkova   (2003-07-17 09:17) [3]

Оба поля имеют предикат Not Null. Где можно поискать дубликат ключа?


 
Sergey13   (2003-07-17 09:20) [4]

Сори поторопился. Скорее всего прав Johnmen © (17.07.03 09:10)


 
Johnmen   (2003-07-17 09:25) [5]

>...поискать дубликат ключа?

SELECT L_O_Id, OwnerNew, COUNT(*) FROM Table
GROUP BY L_O_Id, OwnerNew,


покажет количества дубликатов для каждой пары значений.
Где их >1, там и дубликаты...


 
Sergey13   (2003-07-17 09:27) [6]

2Belkova (17.07.03 09:17)
Посмотри нет ли NULL во втором поле. Если предикат Not Null был установлен на старой (заполненой) таблице то такая ситуевина возможна.


 
Belkova   (2003-07-17 09:37) [7]

SELECT L_O_Id, OwnerNew, COUNT(*) FROM Table
GROUP BY L_O_Id, OwnerNew,
После выполнения запроса, выдало по всем NULL, и из таблицы удалены все данные.


 
Johnmen   (2003-07-17 09:40) [8]

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


 
Sergey13   (2003-07-17 09:47) [9]

2Belkova (17.07.03 09:37)
>... и из таблицы удалены все данные.
Это как это Select может удалять?!!!



 
Belkova   (2003-07-17 09:51) [10]

> Sergey13
Select не может, я сама удалили. Извиняюсь за неточность формулировки.
>JohnMen
Спасибо, попробую.


 
Belkova   (2003-07-17 09:57) [11]

Все сделала, как написано. Удалиладанные, подтвердила транзакцию, отключилась от БД, подключилась , попробовала создать ПК и та же ошибка.


 
Alexandr   (2003-07-17 10:00) [12]

старые версиии записей существуют в индексе.
Короче, как минимум sweep как максимум backup\restore


 
Sergey13   (2003-07-17 10:03) [13]

2Belkova (17.07.03 09:51)
>Извиняюсь за неточность формулировки.
А я уж испугался. 8-)
Причина была все таки наверное в наличии NULL во втором поле. Если бы там были просто дубликаты то в сочетании с уникальным первым полем все равно получилась бы уникальная комбинация. А вот с нулыком ПК не построить.
Но если записей уже нет - то и проблема снята. 8-)


 
Belkova   (2003-07-17 10:04) [14]

Расшифруйте, что такое sweep, если не трудно.


 
Johnmen   (2003-07-17 10:25) [15]

Я тут воспроизвел указанную ошибку :)
Причина её - дубликаты пар значений полей !

>Alexandr © (17.07.03 10:00)

Даже при наличие старых версий, ПК создается для пустой таблицы.
Видимо, действительно стоит пробовать backup\restore.

>Belkova

А какова полная структура таблицы ? С ключами, индексами ?


 
Belkova   (2003-07-17 10:26) [16]

Сделала backup\restore все заработало. Всем Большое Спасибо!!!


 
Alexandr   (2003-07-17 11:52) [17]


> Johnmen ©
> Даже при наличие старых версий, ПК создается для пустой
> таблицы.


не понял, что ты этим хотел сказать?


 
Johnmen   (2003-07-17 12:25) [18]

>Alexandr © (17.07.03 11:52)

Хотел сказать, при наличии
>старые версиии записей
но при пустой таблице...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
14-20675
sva
2003-07-23 06:09
2003.08.07
Delphi не запускается


1-20560
Александр_ИСТ
2003-07-22 19:21
2003.08.07
Как отследить завершение запущенной мной досовской проги?


1-20542
lipskiy
2003-07-21 23:46
2003.08.07
TImage, TTolbar и 32-битные иконки


1-20594
NewJack
2003-07-24 14:31
2003.08.07
Файлы, содержащиеся в директории


1-20614
DenisM
2003-07-24 12:28
2003.08.07
Как убрать подписи к значкам в ShellListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский