1. ホーム
  2. マイスル

[解決済み】MySQL、NULLと空の文字列のどちらを挿入するのが良いですか?

2022-04-04 12:31:32

質問

ウェブサイト上に、さまざまなフィールドを持つフォームがあります。いくつかのフィールドはオプションで、いくつかは必須です。DBには、これらの値をすべて保持するテーブルがありますが、ユーザーがデータを入力しなかったDBの列にNULL値または空の文字列を挿入することは良い習慣ですか?

どのように解決するのですか?

を使用することで NULL を使うと、「データを入れない」と「空のデータを入れる」を区別することができます。

さらにいくつかの違いがあります。

  • A LENGTHNULLNULL , a LENGTH 空の文字列の 0 .

  • NULL は、空文字列の前にソートされます。

  • COUNT(message) は空の文字列を数えますが NULL s

  • バインドされた変数を用いて空文字列を検索することは可能ですが NULL . このクエリは

    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    
    

    は決して NULLmytext は、クライアントから渡されるどのような値であっても にマッチするように NULL の場合は、他のクエリを使用する必要があります。

    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL