Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внешний ключ не создается / 8 сообщений из 8, страница 1 из 1
26.03.2004, 11:55
    #32458189
1man
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
Использую FB+IBExpert
Есть таблицы GROUP_T и GR_CL_T
Одно поле таблицы GR_CL_T есть по-сути первичный ключ GROUP_T
Это поле надо обозвать внешним ключом

GROUP_T:
REATE TABLE GROUP_T (
GROUP_ID KEY_D NOT NULL,
NAME_GR TEXT16,
CURATOR_GR INTE
);

ALTER TABLE GROUP_T ADD CONSTRAINT PK_GROUP_T PRIMARY KEY (GROUP_ID);

GR_CL_T :
CREATE TABLE GR_CL_T (
GR_CL_ID KEY_D,
GR_GRCL INTE,
CL_GRCL INTE
);

ALTER TABLE GR_CL_T ADD CONSTRAINT PK_GR_CL_T PRIMARY KEY (GR_CL_ID);

ALTER TABLE GR_CL_T ADD CONSTRAINT FK_GR_CL_T FOREIGN KEY (CL_GRCL) REFERENCES CLIENT_T (CLIENT_ID) ON DELETE CASCADE;

При попытке создания внешнего ключа
alter table GR_CL_T
add constraint FK2_GR_CL_T
foreign key (GR_GRCL)
references GROUP_T(GROUP_ID)
on delete CASCADE

ругается
violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "PK_GROUP_T" on table "GROUP_T".

Что за фигня?!
...
Рейтинг: 0 / 0
26.03.2004, 12:06
    #32458218
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
ALTER TABLE GROUP_T ADD CONSTRAINT PK_GROUP_T PRIMARY KEY ( GROUP_ID );

GR_CL_ID KEY_D not null

ALTER TABLE GR_CL_T ADD CONSTRAINT FK_GR_CL_T FOREIGN KEY (CL_GRCL) REFERENCES CLIENT_T ( CLIENT_ID ) ON DELETE CASCADE;

_________________
"Hello, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
26.03.2004, 13:00
    #32458362
1man
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
Спасибо за внимание.
Видимо, мне следовало подчеркнуть, что один внешний ключ на таблицу CLIENT_T уже создан (как это видно из текста). Ошибка возникает при создании второго внеш ключа.
GR_CL_ID KEY_D not null не помогло, собствено представленный вариант (без not null - результат "экспериментов"
...
Рейтинг: 0 / 0
26.03.2004, 14:19
    #32458608
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
На данные в таблицах посмотри ;-)
...
Рейтинг: 0 / 0
26.03.2004, 14:28
    #32458640
1man
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
Да! Действительно, данные кривые были.
СПАСИБО!
...
Рейтинг: 0 / 0
26.03.2004, 14:31
    #32458655
1man
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
Если бы еще кто объяснил чайнику, почему это могло помешать созданию вторичного ключа...
...
Рейтинг: 0 / 0
26.03.2004, 14:41
    #32458686
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
При создании FK сразу проверяется ссылочная целостность. И если у тебя есть левые внешние ключи (которых нет в мастере), то сервер тебя посылает.
...
Рейтинг: 0 / 0
15.04.2004, 16:03
    #32483036
umpim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ не создается
Была такая проблема - написал запрос, который удалил все левые данные.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внешний ключ не создается / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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