bom ida eu criei o banco de dados da seguinte forma
CREATE DATABASE `empresa` /*!40100 DEFAULT CHARACTER SET latin1 */;
DROP TABLE IF EXISTS `empresa`.`cadastro_empresa`;
CREATE TABLE `empresa`.`cadastro_empresa` (
`id_empresa` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nome_empresa` varchar(45) NOT NULL,
`end_empresa` varchar(45) NOT NULL,
`tel_empresa` varchar(10) NOT NULL,
`cnpj_empresa` int(10) unsigned NOT NULL,
`IE_empresa` varchar(25) NOT NULL,
PRIMARY KEY (`id_empresa`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `empresa`.`cadastro_funcionario`;
CREATE TABLE `empresa`.`cadastro_funcionario` (
`id_funcionario` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nome_funcionario` varchar(45) NOT NULL,
`end_funcionario` varchar(45) NOT NULL,
`tel_funcionario` int(10) unsigned NOT NULL,
`id_empresa` int(10) unsigned NOT NULL,
`salario_funcionario` double NOT NULL,
`nome_empresa` varchar(45) NOT NULL,
PRIMARY KEY (`id_funcionario`),
KEY `FK_cadastro_funcionario_empresa` (`id_empresa`),
CONSTRAINT `FK_cadastro_funcionario_empresa` FOREIGN KEY (`id_empresa`) REFERENCES `cadastro_empresa` (`id_empresa`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
so q qnto a aplicacao executa ela da esse erro
Field 'id_empresa' doesn't have a default value
Ocorreu um erro
esse 4e o trecho da conexao referente a ao erro
public void salvarFuncionario(Funcionario f){//inserindo o objeto no BD recebe parametro
Connection con = null;//responsavel por criar conexao com o banco de dados
PreparedStatement pstm = null;//responsavel por executar o sql
String sql = new String();
sql = " INSERT INTO cadastro_funcionario(nome_funcionario, end_funcionario, tel_funcionario,nome_empresa, salario_funcionario) VALUES (?, ?, ?, ?, ?)";//sql para rodar no banco de dados o ? e os curingas
try{
con = criarConecao();//cria conexao com o banco de dados
pstm = con.prepareStatement(sql);//executar o sql
pstm.setString(1, f.getNome());
pstm.setString(2, f.getEndereco());
pstm.setString(3, f.getTelefone());
pstm.setString(4, f.getEmpresa());
pstm.setString(5, f.getSalario());
pstm.execute();
System.out.println("Dados salvos com sucesso");
pstm.close();
con.close();
}catch(Exception e){
e.printStackTrace();
System.out.println(e.getMessage());
System.out.println("Ocorreu um erro\nFavor entrar em contato com o administrador do sistema!\nemail [email removido]");
}
}
}
o q eu fiz de errado?? grato pela ajuda de todos