Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como eu exijo um campo mysql?


Por padrão, o MySQL aceita valores inválidos. Você pode definir o MySQL para o modo estrito para forçar valores válidos. Isso rejeitará uma consulta que não fornece um valor para uma coluna NOT NULL, além de impor a integridade em todos os tipos de colunas.

Atualização: O MySQL 5.7 e superior agora têm o modo estrito ativado por padrão. Portanto, não aceitaria valores inválidos por padrão, como nas versões anteriores.

http://dev.mysql .com/doc/refman/5.0/en/sql-mode.html#sql-mode-important

http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables

Edit:@Barranka e @RocketHazmat fizeram bons comentários nos comentários. '' não é o mesmo que null, então o MySQL permitirá isso em uma coluna NOT NULL. Nesse caso, você teria que recorrer ao seu código ou a um gatilho.

No código (PHP por exemplo), isso pode ser bastante fácil, executando algo como:
if (!strlen($value)) { 
    // Exclude value or use NULL in query
}