Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL, meglio inserire NULL o stringa vuota?

Usando NULL puoi distinguere tra "non inserire dati" e "mettere dati vuoti".

Qualche altra differenza:

  • Una LENGTH di NULL è NULL , una LENGTH di una stringa vuota è 0 .

  • NULL i messaggi vengono ordinati prima delle stringhe vuote.

  • COUNT(message) conterà le stringhe vuote ma non NULL s

  • Puoi cercare una stringa vuota usando una variabile associata ma non un NULL . Questa domanda:

    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    

    non corrisponderà mai a un NULL in mytext , qualunque sia il valore che trasmetti dal cliente. Per corrispondere a NULL s, dovrai usare un'altra query:

    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL