[RESOLVIDO]Erro ao Salvar no Banco de Dados

Boa noite.
Estou tentando salvar no banco de dados postgresql o médico, sendo que clicar em salvar para o insert se executado apresenta este aviso:

Já olhei no meu banco esta tudo ok, esta ate similar ao tamanho de registros de outra tabela e consigo salvar normal na outra.

Roda isso aqui no seu banco

ALTER TABLE nome_tabela ALTER COLUMN nome_coluna TYPE text;

Beleze meu amigo, ele deixou de apresentar este aviso de erro…agora esta apresentando este aviso:

Cê leu o erro?

Key (bai_medcod)=(0) is not present in table "bairros"

O banco ta tentando buscar o id 0 na tabela bairros, mas não tem.

certo.

o banco bairros esta assim:

image

e a tabela medicos que tem a chave estrangeira esta assim a configuracao das chaves:

Você está tentando inserir um ID com valor 0, e este valor não existe

Achei onde estava o erro no codigo, consegui salvar no banco de dados…mas mesmo salvando no banco ele retornou um aviso de erro:

aqui segue o print para mostrar que ele salvou no banco de dados, mesmo retornando este erro:

Obrigado pela ajuda abner.rodrigues…achei outro erro no codigo…salvou sem erro agora:

Segue o codigo que tinha o erro:

Obseu nao tinha colocado para chamar os 2 metodos o buscaBaiCod e buscaCidCod.

ja o erro de salvar e continua apresentando erro mesmo salvando era que eu coloquei pst.executeQuery(), quando coloquei pst.execute(), nao apresentou mais o erro e salvou de primeira.

public void Salvar(BeansMedico mod){
        buscaEspCod(mod.getNomeEspecialidade());
        **buscaBaiCod(mod.getNomeBairro());**
        **buscaCidCod(mod.getNomeCidade());**
        conex.conexao();
        try {
            PreparedStatement pst = conex.con.prepareStatement("insert into medicos(nome_medico,rg_medico,cpf_medico,crm_medico,esp_medcod,sexo_medico,rua_medico,num_end_med,complemento_medico,bai_medcod,cid_medcod,tel_medico,cel_medico,email_medico,status_medico ) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
            pst.setString(1, mod.getNomeMed());
            pst.setString(2, mod.getRg());
            pst.setString(3, mod.getCpf());
            pst.setString(4, mod.getCrm());
            pst.setInt(5, codEsp);
            pst.setString(6, mod.getSexo());
            pst.setString(7, mod.getRua());
            pst.setString(8, mod.getNumEnd());
            pst.setString(9, mod.getComplemento());
            pst.setInt(10, codBai);
            pst.setInt(11, codCid);
            pst.setString(12, mod.getTel());
            pst.setString(13, mod.getCel());
            pst.setString(14, mod.getEmail());
            pst.setString(15, mod.getStatus());
            **pst.execute();**
            JOptionPane.showMessageDialog(null,"Médico Salvo com Sucesso!");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"Erro ao Salvar Médico!"+ ex);
        }
        
        conex.desconecta();
    }