wlasnie tworze baze do mojego forum i zwiesilem sie na takim problemie:
Mam dwie tabele tbTemat i tbWiadomosc. Oczywistym jest, ze rerkord w tabeli tbWiadomosc poowinien zawierac pole z kluczem obcym wskazujacym na temat, do ktorego dopisany zostal dany post. Chcialbym jednak, aby w tabeli tbTemat byl przchowywany nr id posta, ktory zostal dopisany jako ostatni do danego tematu. Czyli mamy sytuacje, gdzie dwie tabele nawzajem zawieraja swoje klucze obce.
Tabele te tworze nastepujacym poleceniem (tylko istotny wycinek):
Kod
create sequence tbtemat_idtematu_seq;
create table tbTemat
(
idtematu smallint not null default nextval('tbtemat_idtematu_seq') primary key ,
idnajnowszegoposta_fk smallint not null REFERENCES tbWiadomosc (idwiadomosci)
);
create sequence tbwiadomosc_idwiadomosci_seq;
create table tbWiadomosc
(
idwiadomosci smallint not null default nextval('tbwiadomosc_idwiadomosci_seq') primary key ,
idtematu_fk smallint not null REFERENCES tbTemat (idtematu) ,
);
create table tbTemat
(
idtematu smallint not null default nextval('tbtemat_idtematu_seq') primary key ,
idnajnowszegoposta_fk smallint not null REFERENCES tbWiadomosc (idwiadomosci)
);
create sequence tbwiadomosc_idwiadomosci_seq;
create table tbWiadomosc
(
idwiadomosci smallint not null default nextval('tbwiadomosc_idwiadomosci_seq') primary key ,
idtematu_fk smallint not null REFERENCES tbTemat (idtematu) ,
);
I teraz podczas proby wykonania tego kodu psql wywala mi blad, poniewaz podczas tworzenia pierwszej tabeli powinna istniec juz druga tabela. Jak to rozwiazac ?
Pozdrawiam i dziekuje za wszelkie proby pomocy
