1
resposta

Como deixo um valor null em uma tabela?

Estou criando um banco e quero deixar o a coluna data de venda em branco pois irei preencher com a data que vender, mas esta dando erro, na aula era só deixar as aspas vazias que funcionava, lembrando que coloquei valor DATE nesta coluna, da erro 1292 Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

O professor utiliza '' quando é um valor de texto (txt, varchar e etc...). As aspas vazias '' significam um texto sem nenhuma letra. No seu caso, vocês está querendo colocar um valor nulo em campo numérico. Portanto, o valor nulo de algum número é zero ou Null. Null pode ser utilizado tanto em valores de texto como em valores numéricos. Desde que esteja habilitado.

Se você tenta colocar '' em um valor numérico o banco entende que você está tentando colocar um formato de texto em uma coluna com valores numéricos.

INSERT INTO tbProdutos (id_produto, nm_produto, dt_compra, vl_compra, dt_venda, vl_venda) 
VALUE ( '00001' , 'Isca LiveX' , '2022-04-16' , 90 , 0 , 130); 

Se você não tiver bloqueado a opção do campo ser nulo na hora criação, você pode utilizar a palavra reservada do mySql "NULL".

INSERT INTO tbProdutos (id_produto, nm_produto, dt_compra, vl_compra, dt_venda, vl_venda) 
VALUE ( '00001' , 'Isca LiveX' , '2022-04-16' , 90 , NULL , 130); 

Lembrando que isso não será possível se você tiver marcado o campo "NN" (Not Null) durante a criação deste campo. Insira aqui a descrição dessa imagem para ajudar na acessibilidade