Banco de dados

4 respostas
H

pessoal, estou com uma dúvida
Tenho uma tabela com 14 campos: nome, telefone, tipo de sangue, endereço, etc…
aí, monto o comando para inserir no banco de dados, porém ele me retornou o seguinte erro:

Exception in thread "main" java.sql.SQLException: Field 'data_envio' doesn't have a default value

esse campo, não recebe nenhum valor…fica do jeito que está, quem recebe é sim, o nome, endereço,email…
pergunta:
quando vou fazer uma inserção, tem que fazer em todos os campos que não tenham valor default?
Obrigado a todos!!!
Horácio

4 Respostas

InSeOfKn

Que eu saiba não, mas o campo não pode ser NOT NULL nem a PK da tabela, e os valores não informados ficarão com null no banco podendo ser modificados com um UPDATE.

Até

freitasgts

Bom dia!

Verifique se no banco de dados a coluna em questão está marcada como NOT NULL. Caso esteja você vai ser obrigada a passar um valor a não ser que você coloque um valor default…

Andre_Fonseca

coloque a seguinte linha no id do seu objeto

@GeneratedValue(strategy=GenerationType.IDENTITY)
A

Primeiro certifique-se da definição deste campo na tabela. Se ele aceitar null ou tiver um default, você não é obrigado a passar um valor para ele no seu insert. Mas seu comando teria que informar todos os campos que receberão um valor. Por exemplo: suponha uma tabela que tenha 5 campos onde campo2 é null e campo 4 tem um default. Seu comando insert poderia ficar assim:

insert into tabela(campo1, campo3, campo5) values( valor1, valor3, valor5)

Se numa tabela nessas condições fosse feito simplesmente assim:

insert into tabela values(valorq, valor3, valor5)

você teria um erro

Criado 12 de janeiro de 2011
Ultima resposta 12 de jan. de 2011
Respostas 4
Participantes 5