[FB] Problem ze stworzeniem klucza obcego

Odpowiedz Nowy wątek
2006-11-28 15:28

Rejestracja: 17 lat temu

Ostatnio: 1 dzień temu

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

Pozostało 580 znaków

2006-11-28 15:41

Rejestracja: 16 lat temu

Ostatnio: 7 lat temu

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


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-11-28 16:05

Rejestracja: 17 lat temu

Ostatnio: 1 dzień temu

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ć?

Pozostało 580 znaków

2006-11-28 19:47

Rejestracja: 13 lat temu

Ostatnio: 4 lata temu

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

Pozostało 580 znaków

Odpowiedz

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