powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внешний ключ не создается
8 сообщений из 8, страница 1 из 1
Внешний ключ не создается
    #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
Внешний ключ не создается
    #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
Внешний ключ не создается
    #32458362
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за внимание.
Видимо, мне следовало подчеркнуть, что один внешний ключ на таблицу CLIENT_T уже создан (как это видно из текста). Ошибка возникает при создании второго внеш ключа.
GR_CL_ID KEY_D not null не помогло, собствено представленный вариант (без not null - результат "экспериментов"
...
Рейтинг: 0 / 0
Внешний ключ не создается
    #32458608
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На данные в таблицах посмотри ;-)
...
Рейтинг: 0 / 0
Внешний ключ не создается
    #32458640
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да! Действительно, данные кривые были.
СПАСИБО!
...
Рейтинг: 0 / 0
Внешний ключ не создается
    #32458655
1man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы еще кто объяснил чайнику, почему это могло помешать созданию вторичного ключа...
...
Рейтинг: 0 / 0
Внешний ключ не создается
    #32458686
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При создании FK сразу проверяется ссылочная целостность. И если у тебя есть левые внешние ключи (которых нет в мастере), то сервер тебя посылает.
...
Рейтинг: 0 / 0
Внешний ключ не создается
    #32483036
umpim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была такая проблема - написал запрос, который удалил все левые данные.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внешний ключ не создается
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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