Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FK не создается / 7 сообщений из 7, страница 1 из 1
09.07.2004, 11:10:01
    #32596810
Wilg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
Народ подскажите как FireBird 1.5 Создать второй FK
Имею три таблички
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
CREATE TABLE OPERATIONS_UNIT (
    ID           INTEGER NOT NULL,
    STATUS       INTEGER,
    DATECREATE   TIMESTAMP,
    USERCREATE   VARCHAR( 20 ),
    NAMEUNIT     VARCHAR( 50 ),
    DESCRIPTION  VARCHAR( 300 ) COLLATE PXW_CYRL
);
ALTER TABLE OPERATIONS_UNIT ADD CONSTRAINT PK_OPERATIONS_UNIT PRIMARY KEY (ID);

CREATE TABLE HIST_OPERATUNION (
    ID             INTEGER NOT NULL,
    ID_PARENT      INTEGER,
    STATUS         INTEGER DEFAULT  0 ,
    DATECREATE     TIMESTAMP,
    USERCREATE     VARCHAR( 20 ),
    STHIST         INTEGER,
    ID_GROUPUNIT   INTEGER,
    NAMEOPERATION  VARCHAR( 50 ),
    COMMENTS       VARCHAR( 300 )
);

ALTER TABLE HIST_OPERATUNION ADD CONSTRAINT PK_HIST_OPERATUNION PRIMARY KEY (ID);

CREATE TABLE OPERATUNION (
    ID             INTEGER NOT NULL,
    ID_PARENT      INTEGER,
    STATUS         INTEGER DEFAULT  0 ,
    DATECREATE     TIMESTAMP,
    USERCREATE     VARCHAR( 20 ),
    ID_GROUPUNIT   INTEGER,
    NAMEOPERATION  VARCHAR( 50 ),
    COMMENTS       VARCHAR( 300 )
);

ALTER TABLE OPERATUNION ADD CONSTRAINT PK_OPERATUNION PRIMARY KEY (ID);

ALTER TABLE OPERATUNION ADD CONSTRAINT FK_OPERATUNION FOREIGN KEY (ID_PARENT) REFERENCES OPERATUNION (ID);


При создании еще одного FK

alter table OPERATUNION
add constraint FK_OPERATUNION
foreign key (ID_GROUPUNIT)
references OPERATIONS_UNIT(ID)

Получаю

This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$INDICES failed.
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_5".

Как это победить или это ограничения ?
...
Рейтинг: 0 / 0
09.07.2004, 11:33:30
    #32596875
Лентяй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
А попробуй отсоединиться от сервера, а потом подсоединиться и создать FK.
И еще, по поводу FK на ID_PARENT - имеешь шанец получить невосстановимый bacup.
Удачи.
...
Рейтинг: 0 / 0
09.07.2004, 11:40:03
    #32596891
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
Он тебе чисто конкретно написал attempt to store duplicate value.
Сие означает, что имя ограничения FK_OPERATUNION уже существует на поле ID_PARENT
Для поля ID_GROUPUNIT задай другое имя ограничения, например FK_OPERATUNION_GROUP
...
Рейтинг: 0 / 0
09.07.2004, 11:45:54
    #32596899
Wilg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
А попробуй отсоединиться от сервера, а потом подсоединиться и создать FK.


Пробовал .. не помогло


Он тебе чисто конкретно написал attempt to store duplicate value.
Сие означает, что имя ограничения FK_OPERATUNION уже существует на поле ID_PARENT
Для поля ID_GROUPUNIT задай другое имя ограничения, например FK_OPERATUNION_GROUP
Тоже пробовал не прокатило

This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$RELATION_CONSTRAINTS failed.
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_12".
...
Рейтинг: 0 / 0
09.07.2004, 11:51:17
    #32596915
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
>> Тоже пробовал не прокатило
Не верю! Не внимательно пробовал.
...
Рейтинг: 0 / 0
09.07.2004, 11:55:24
    #32596933
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
В первом случае он не смог создать индекс для обеспечения функционирования FK_OPERATUNION и ругнулся, что индекс с таким именем уже есть.
Серверattempt to store duplicate value in unique index "RDB$INDEX_5".Во втором случае, не смог создать саму CONSTRAINT и сказал, что такая уже есть
Серверattempt to store duplicate value in unique index "RDB$INDEX_12".
...
Рейтинг: 0 / 0
09.07.2004, 12:04:34
    #32596965
Wilg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FK не создается
Всем спасибо за помощь. Победил.
to Zmeishe ты был прав.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FK не создается / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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