|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Привет всем. FB 2.5 WI-V6.3.4.26856 Обнаружено нарушение уникальности первичного ключа. Фрагмент таблицы: Код: plsql 1. 2. 3. 4.
Такой запрос возвращает некое значение ID: Код: plsql 1. 2. 3. 4.
Запрос вида Код: plsql 1. 2. 3.
возвращает 2 абсолютно идентичных по значениям полей записи В логе сервера ничего криминального нет. Но это ни о чем не говорит - в какой-то момент была переустановка сервера (в смысле, самой железяки). Весьма вероятно, что эти данные были вставлены в таблицу до переустановки сервера. Правильно ли я понимаю, что гикнулся индекс первичного ключа и надо его пересоздать? С уважением, Polesov. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 12:19 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Забыл указать, что по полю ID создан первичный ключ: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 12:23 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
индекс битый Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 12:28 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Битый индекс способен не вернуть существующую запись, но вернуть несуществующую... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:01 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Кстати, апдейт вида Код: plsql 1.
выполнился без каких-либо ошибок ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:03 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Hello, Polesov! You wrote on 18 марта 2016 г. 13:08:00: Polesov> выполнился без каких-либо ошибок читай статью о поиске дубликатов Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:08 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Polesov, зачем надо было делать апдейт? надо было индекс перестроить ALTER INDEX PK_T ACTIVE; COMMIT; ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:13 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Polesov, собственно, если в таблице и правда дубли, при перестройке индекса будет облом. на некоторое время окажешься с таблицей без контроля ПК. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:15 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
kdv, не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:16 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Polesov, gfix -v -fu - что говорит ? Поле - точно INTEGER ? А может там NUMERIC ? Или (о ужас) VARCHAR\DOUBLE PRECISION ? А может там раньше был не INTEGER ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:19 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Polesov, не верю. или см. ответ hvlad. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:20 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
hvladgfix -v -fu - что говорит ? data base file name (localhost:с:\data\db.fdb) already given hvladПоле - точно INTEGER ? А может там NUMERIC ? Или (о ужас) VARCHAR\DOUBLE PRECISION ? INTEGER hvladА может там раньше был не INTEGER ? Вот этого не знаю - БД была создана давно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:29 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
kdvPolesov, не верю. или см. ответ hvlad. Да я сам не верю ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:30 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
В таблице есть поле, хранящее GUID в текстовом виде. Был сделан бекап БД в GBK-файле осуществлен поиск этого GUID. Найдено 2 совпадения - говорит ли это о том, что в БД данная запись присутствует 2 раза? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:33 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Hello, Polesov! You wrote on 18 марта 2016 г. 13:36:20: Polesov> В таблице есть поле, хранящее GUID в текстовом виде. > Был сделан бекап БД в GBK-файле осуществлен поиск этого GUID. > Найдено 2 совпадения - говорит ли это о том, что в БД данная запись присутствует 2 раза? это говорит о том, что в огороде бузина. а в киеве - дядька. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:36 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Polesovhvladgfix -v -fu - что говорит ? data base file name (localhost:с:\data\db.fdb) already givenМне начинать ругаться или ты уже сам понял свою ошибку и пошёл читать синтаксис вызова gfix ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:38 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
hvladА может там раньше был не INTEGER ? Вот этого не знаю - БД была создана давно. Кстати, в таблице есть тайм-стамп когда данные были добавлены. Инсерт был 23 ноября 2015 года - на тот момент поле точно было INTEGER NOT NULL PRIMARY KEY И еще, как раз в тот период наблюдались аппаратные проблемы с сервером (чуть позже физически посыпались 2 HDD) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:39 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
[/quot]Мне начинать ругаться...[/quot] В конце поставил точку с запятой и не мог понять, что не так... Код: powershell 1. 2.
Пересоздание индекса помогло: - удаляем все FK, указывающие на эту таблицу - удаляем двойные записи - удаляем PK - восстанавливаем PK - восстанавливаем удаленные записи-двойники в единственном экземпляре - восстанавливаем все FK на эту таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:15 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Мимопроходящийэто говорит о том, что в огороде бузина. В бд в залезли НЕХ-редактором и изменили значение текстового поля одной из записей-двойников: в селекте 2 поля с отличием измененного текстового поля ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:19 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Hello, Polesov! You wrote on 18 марта 2016 г. 14:21:05: Polesov> В бд в залезли НЕХ-редактором и изменили значение текстового полязаписи на странице данных пакуются. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:21 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Мимопроходящийзаписи на странице данных пакуются. Были изменены символы в значении поля, было ABC - стало ZZZ. Длина не менялась. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:25 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
Hello, Polesov! You wrote on 18 марта 2016 г. 14:27:37: Polesov> Были изменены символы в значении поля, было ABC - стало ZZZ. Длина не менялась. При наличии отсутствия пропитанных шпал, — кричал Виктор Михайлович на весь двор, — это будет не трамвай, а одно горе! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:27 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
МимопроходящийПри наличии отсутствия пропитанных шпал, — кричал Виктор Михайлович Ну, да - это вам не ешака купить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 14:32 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
PolesovБыли изменены символы в значении поля, было ABC - стало ZZZ. Длина не менялась.Похоже, не догоняешь. Перевожу: возьми zip-архив, и поменяй что-то в нём, не меняя длины. О результатах распаковки доложи. Пример грубый, но наглядный. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 15:11 |
|
Нарушение уникальности PK
|
|||
---|---|---|---|
#18+
WildSery, Данные менялись в копии БД, а не бэкапе. Или FB при записи данных их сжимает, а при чтении - разжимает? Я думал, что упакованные данные - это хранение VARCHAR актуальных данных, а не всей объявленной длины. Или я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 15:16 |
|
|
start [/forum/topic.php?fid=40&msg=39195315&tid=1562271]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 280ms |
total: | 429ms |
0 / 0 |