[FB] Problem ze stworzeniem klucza obcego

0

Dzieje się tak.
Mam skrypt(tworzony przez IBExpert, a więc raczej poprawny):

alter table HISTORIA
add constraint FK_HISTORIA_1
foreign key (ID_PRAC)
references PRACOWNICY(ID)
on update CASCADE;

Ale jego wykonanie generuje błąd:

violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "PK_PRACOWNICY" on table "PRACOWNICY".

Ktoś wie, czemu tak jest?

W innej tabeli mogę zrobić taki klucz obcy

0

bo pewnie w tabeli historia masz
a) nieuzupełnione pole id_prac
b) masz w niej wartości, których nie ma w pracownicy->id

0
Misiekd napisał(a)

bo pewnie w tabeli historia masz
a) nieuzupełnione pole id_prac
b) masz w niej wartości, których nie ma w pracownicy->id

A jaki jeszcze powód może być?

0
  1. SELECT A.* FROM HISTORIA A WHERE NOT EXISTS (SELECT NULL FROM PRACOWNICY B WHERE B.ID=A.ID_PRAC)
  2. ZRÓB PEŁNE BACK_DB (wrzuć polecenia do x.bat i uruchom z wiersza polecen "x.bat nazwa_bazy_bez_rozszerzenia"), jeżeli brak powiązań to może naprawi, a jak krytyczne to terzba szukać...
    POLECENIA:

gfix -sh -force 60 -user sysdba -password masterkey %1.GDB
gfix -v -f -i -user sysdba -password masterkey %1.GDB
gfix -commit all -user sysdba -password masterkey %1.GDB
gfix -mend -i -f -user sysdba -password masterkey %1.GDB
gbak -B -i -user sysdba -pas masterkey %1.GDB %1.GBK
gbak -R -user sysdba -pas masterkey %1.GBK %1.GDB
gfix -o -user sysdba -password masterkey %1.GDB
pause

1 użytkowników online, w tym zalogowanych: 0, gości: 1