sql >> Databasteknik >  >> RDS >> Mysql

MySQL, bättre att infoga NULL eller tom sträng?

Genom att använda NULL du kan skilja mellan "lägg inga data" och "lägg tomma data".

Några fler skillnader:

  • En LENGTH av NULL är NULL , en LENGTH av en tom sträng är 0 .

  • NULL s sorteras före de tomma strängarna.

  • COUNT(message) kommer att räkna tomma strängar men inte NULL s

  • Du kan söka efter en tom sträng med en bunden variabel men inte efter en NULL . Denna fråga:

    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    

    kommer aldrig att matcha en NULL i mytext , vilket värde du än skickar från kunden. För att matcha NULL s måste du använda en annan fråga:

    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL
    


  1. Lagra JSON i databasen kontra att ha en ny kolumn för varje nyckel

  2. PostgreSQL UNIX-domänsockets vs TCP-sockets

  3. Fördelar och nackdelar med att använda lagrade procedurer

  4. Skicka e-postmeddelanden med bilagor i SQL Server (T-SQL)