Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL, mieux vaut insérer une chaîne NULL ou vide ?

En utilisant NULL vous pouvez faire la distinction entre "mettre aucune donnée" et "mettre des données vides".

Quelques autres différences :

  • Une LENGTH de NULL est NULL , une LENGTH d'une chaîne vide est 0 .

  • NULL s sont triés avant les chaînes vides.

  • COUNT(message) comptera les chaînes vides mais pas NULL s

  • Vous pouvez rechercher une chaîne vide en utilisant une variable liée mais pas un NULL . Cette requête :

    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    

    ne correspondra jamais à un NULL dans mytext , quelle que soit la valeur transmise par le client. Pour correspondre à NULL s, vous devrez utiliser une autre requête :

    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL