Dúvida com Foreign Key

Bom dia,

Nunca usei chaves estrangeiras devido a pouco experiencia em banco, mas estou fazendo uma aplicação onde tenho duas tabelas. Uma tabela possui um id_heliponto e a outra tabela (Pouso/Decolagem) possui esse mesmo id.
Mas na hora de fazer o insert into na tabela é mostrado o seguinte erro : ( código e erro ).

[code]
public void criarPousoDecolagem(PousoDecolagemModel model)
throws SQLException {
sql = “insert into tb_pouso_decolagem (id_pouso_dec,NM_AUTORI, dt_pouso) values (?,?,?)”;
stmt = getCon.prepareStatement(sql);
stmt.setInt(1, model.getId);
stmt.setString(2, model.getAutorizante());
stmt.setDate(3, null);//provisorio
stmt.execute();
stmt.close();
getCon.close();
System.out.println(“Método…”);

}[/code]

ERRO:

SEVERE: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails javax.faces.el.EvaluationException: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails

A tabela tb_pouso_decolagem tem mais colunas?

Sim, mas estou adicionando primeiro nestes tres campos primeiro

Algumas dessas outras colunas é FK?

Nossa falha minha.
Na verdade o id_pouso_dec é chave primária e existe um outro campo o “id_heliponto” que este sim é chave estrangeira!

[code]public void criarPousoDecolagem(PousoDecolagemModel model)
throws SQLException {
sql = “insert into tb_pouso_decolagem (id_heliponto, NM_AUTORI, dt_pouso) values (?,?,?)”;
stmt = getCon.prepareStatement(sql);
stmt.setInt(1, o que inserir aqui);
stmt.setString(2, model.getAutorizante());
stmt.setDate(3, null);
stmt.execute();
stmt.close();
getCon.close();
System.out.println(“Método…”);

}[/code]

mudei mas continua o mesmo erro !

Verifique se suas FKs podem ser null. Caso você esteja passando valor, verifique se esse registro já existe na outra tabela.

Exceto os campos q eu mostrei e a chave primaria, os outros aceitam nulo.