Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Как удалить PK индекс / 9 сообщений из 9, страница 1 из 1
21.12.2015, 10:03
    #39132785
obtim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
При восстановлении базы из бэкапа получил ошибку "gbak: ERROR: Cannot deactivate index used by a PRIMARY/UNIQUE constraint". Нашел в сети информацию, что надо убить индекс вообще, после чего восстановить, т.к. индекс не отключается из-за того, что является PK таблицы. В IBExpert 2015.12.17.1 такая возможность не активна. Почему? Что читать для понимания ситуации?
...
Рейтинг: 0 / 0
21.12.2015, 10:54
    #39132825
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
obtim,

индексы для PK и FK удалить невозможно. Можно удалить только само ограничение.
...
Рейтинг: 0 / 0
21.12.2015, 11:43
    #39132912
obtim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
Симонов Денисobtim,

индексы для PK и FK удалить невозможно. Можно удалить только само ограничение.
Спасибо! А о каком ограничении вы говорите?
...
Рейтинг: 0 / 0
21.12.2015, 12:18
    #39132952
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
obtimА о каком ограничении вы говорите?

О primary key, удаляй его на закладке Constraints.
...
Рейтинг: 0 / 0
21.12.2015, 19:47
    #39133732
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
obtim,

такое впечатление, что тут все склерозом заболели. Какое удалять? Ошибка говорит о том, что этот ПК НЕ АКТИВИРОВАЛСЯ!
т.е. он не работает. Там ДУБЛИКАТЫ в ПК, а вы его - удалять. Ну удалишь ПК, и дальше что?

Надо удалять дубликаты в этом ПК, а потом активировать этот ПК. И все.

http://www.ibase.ru/devinfo/db_repair.htm#pdup
...
Рейтинг: 0 / 0
22.12.2015, 09:38
    #39134143
obtim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
Еще потуплю вопросами.
1.
Понял, что в таблице есть значения null при выставленных ограничениях not null
Убедился в этом прогнав соответствующей утилитой из ссылки выше. Получил в результате, что null есть в
авторWarning: Field FROMGRPID in Table REPL$CHANGELOG have null values!
Warning: Field OP in Table REPL$CHANGELOG have null values!
Warning: Field OWNGRPID in Table REPL$CHANGELOG have null values!
Warning: Field TOGRPID in Table REPL$CHANGELOG have null values!

Сделал отдельно запросы(просто для наглядности)
select * from repl$changelog where FROMGRPID is NULL
select * from repl$changelog where OP is NULL
select * from repl$changelog where OWNGRPID is NULL
select * from repl$changelog where TOGRPID is NULL
получил на каждый из них
http://fastpic.ru/view/67/2015/1222/748f3299838a66245e691887f2f3b074.jpg.html][IMG] http://i67.fastpic.ru/thumb/2015/1222/74/748f3299838a66245e691887f2f3b074.jpeg [/IMG]
ради теста сделал
select * from repl$changelog where ID is NULL
В ответ программа показала
http://fastpic.ru/view/73/2015/1222/f3d8d85ab3844fa569bdfe68d5b1bebf.jpg.html][IMG] http://i73.fastpic.ru/thumb/2015/1222/bf/f3d8d85ab3844fa569bdfe68d5b1bebf.jpeg [/IMG]
но графически отразила, что вроде как и есть
http://fastpic.ru/view/75/2015/1222/692a6b7ed0b56879af5946ec3b567d1e.jpg.html][IMG] http://i75.fastpic.ru/thumb/2015/1222/1e/692a6b7ed0b56879af5946ec3b567d1e.jpeg [/IMG]

Это особенность работы программы такая?

2.
Делаю
delete from repl$changelog where FROMGRPID is NULL and OP is NULL and OWNGRPID is NULL and TOGRPID is NULL
В ответ
авторThe insert failed because a column definition includes validation constraints.
validation error for column "REPL$CHANGELOG_OLD"."MODIFYDATE", value "*** null ***".
At trigger 'REPL$REPL$CHANGELOG_AD' line: 4, col: 3.
По факту настройки такие и у REPL$CHANGELOG и REPL$CHANGELOG_OLD
http://fastpic.ru/view/66/2015/1222/741672777688ead8c582c305a54357c4.jpg.html][IMG] http://i66.fastpic.ru/thumb/2015/1222/c4/741672777688ead8c582c305a54357c4.jpeg [/IMG]
Какая правильная последовательность действий дальше, чтобы грохнуть null в REPL$CHANGELOG?
...
Рейтинг: 0 / 0
22.12.2015, 09:44
    #39134151
obtim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
Корректные скриншоты
1.

2.

3.

4.
...
Рейтинг: 0 / 0
22.12.2015, 10:02
    #39134159
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
obtim2.
Делаю
delete from repl$changelog where FROMGRPID is NULL and OP is NULL and OWNGRPID is NULL and TOGRPID is NULL
В ответ
авторThe insert failed because a column definition includes validation constraints.
validation error for column "REPL$CHANGELOG_OLD"."MODIFYDATE", value "*** null ***".
At trigger 'REPL$REPL$CHANGELOG_AD' line: 4, col: 3.

отключи триггер REPL$REPL$CHANGELOG_AD и повтори удаление.
...
Рейтинг: 0 / 0
22.12.2015, 11:24
    #39134246
obtim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить PK индекс
Всем спасибо!
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Как удалить PK индекс / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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