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

MySQL, melhor inserir NULL ou string vazia?


Usando NULL você pode distinguir entre "colocar sem dados" e "colocar dados vazios".

Mais algumas diferenças:

  • Um LENGTH de NULL é NULL , um LENGTH de uma string vazia é 0 .

  • NULL s são classificados antes das strings vazias.

  • COUNT(message) contará strings vazias, mas não NULL s

  • Você pode procurar por uma string vazia usando uma variável vinculada, mas não por um NULL . Esta consulta:
    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    

    nunca corresponderá a um NULL em mytext , qualquer valor que você passar do cliente. Para corresponder a NULL s, você terá que usar outra consulta:
    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL