Problemas com insert tabela com chave estrangeira

boa tarde galera , venho mais uma vez aqui pedir ajuda a vocês.

meu problema e o seguinte

estou fazendo um trabalho para facul no qual eu tenho que criar um sistema para um hotel com java web tom cat e aquela parafernália de html toda

e terei q fazer um BD tbm nesse BD eu tenho uma tabela q tem relação de 1 para muitos que seria o seguinte , um quarto do hotel pode ter varias reservas durante um ano ou um mês , dai fui eu tentar fazer a relação no SQL postgre
se eu estiver errado me corrijam

preciso de uma tabela quarto com uma chave estrangeira em reservas certo ???

bem dai eu dei uma googlada e fiz a comunicação

cria tabela reserva


create table reserva ( 
id_reserva serial ,

estado varchar (30) not null,
datainicio varchar (11) ,
datafim varchar (11),
Constraint reserva_pkey primary key ( id_reserva ) 
 
)

cria tabela quarto com chave estrangeira ID_RESERVA


create table quarto (

id_quarto serial ,
numero_quarto int not null,
andar int not null , 
acomodacoes int not null ,
id_reserva serial  references reserva (id_reserva),
constraint quarto_pkey primary key ( id_quarto )
)

e agora começa o meu maior problema , quando vou dar um inserte na tabela quarto aparece o seguinte erro

[color=red]
ERRO: inserção ou atualização em tabela “quarto” viola restrição de chave estrangeira "quarto_id_reserva_fkey"
DETAIL: Chave (id_reserva)=(2) não está presente na tabela “reserva”.

********** Error **********

ERRO: inserção ou atualização em tabela “quarto” viola restrição de chave estrangeira "quarto_id_reserva_fkey"
SQL state: 23503
Detail: Chave (id_reserva)=(2) não está presente na tabela “reserva”.

[/color]

eu acho q ate entendi o motivo do erro, que seria porq eu não estou inserindo manualmente na chave estrangeira + ela e serial deveria criar sozinha cada vez q eu desse um inserte na sua tabela … :shock:

bem quem puder me dar uma ajuda fico agradecido :smiley:

A FK está na tabela errada.

Reserva deve ter uma FK para quarto.

Muito obrigado , funcionou mais agora quando eu for fazer um insert em reserva como devo prosseguir ?

Inseres na reserva o ID do quarto para o qual é a reserva…

ok, ta tudo ok agora :smiley: