Ir para conteúdo
Fórum Script Brasil
  • 0

Campos Not Nul Aceitando Cadastro Em Branco


Ednara

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

/* Você tem certeza que quando salvou a tabela estava o not null habilitado ? */

Mesmo assim leia isso retirado do site www.mysql.com

1.8.5.2 Restrições de NOT NULL

Para poder suportar um fácil tratamento de tabelas não transacionais todos os campos no MySQL têm valores padrão. 

Se você inserir um valor 'errado' em uma coluna como um NULL em uma coluna NOT NULL ou um valor numérico muito grande em um campo numérico, o MySQL irá atribuir a coluna o 'melhor valor possível' em vez de dar uma mensagem de erro. Para strings este valor é uma string vazia ou a maior string possível que possa estar na coluna. 

Isto significa que se você tentar armazenar NULL em uma coluna que não aceita valores NULL, o MySQL Server armazenará 0 ou '' (strig vazia) nela. Este último comportamento pode, para uma simples inserção de registro, ser alterado com a opção de compilação -DDONT_USE_DEFAULT_FIELDS.) See section 2.3.3 Opções típicas do configure. Isto faz com que as instruções INSERT gerem um erro a menos que você explicite valores específicos para todas as colunas que exigem um valor diferente de NULL. 

A razão para as regras acima é que não podemos verificar estas condições antes da consulta começar a executar. Se encontrarmos um problema depois de atualizar algumas linahs, não podemos fazer um rollback já que o tipo de tabela não suporta isto. A opção de parar não é tão boa como no caso em que a atualização esteja feita pela metade que é provavelmente o pior cenário possível. Neste caso é melhor 'fazer o possível' e então continuar como se nada tivesse acontecido. No MySQL 5.0 plenejamos melhorar into forncendo avisos para conversões automáticas de campo, mais uma opção para deixar você fazer um rollback das instruções que usam apenas tabelas transacionais no caso de tal instrução fizer uma definição de campo não permitida. 

O mostrado acima significa que não se deve usar o MySQL para verificar o conteúdo dos campos, mas deve se fazê-lo por meio da aplicação. 

fonte site www.mysql.com

T+

*/

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...