20

ここでは、MySQL の空の文字列と NULL の優れた SO があります。MySQL では、NULL または空の文字列を挿入する方が良いですか? 、ただし、「均一性」を考慮していません。つまり、テーブルに1つの選択肢(つまり、空の文字列またはNULL)を持たせたい場合、どちらにする必要がありますか?

私の質問は、MySQL に空の文字列を自動的に NULL として保存させることはできますか?

前の SO を読んだ後、私は一般的に NULL を保存する傾向がありますが、問題は、オプションのフィールドを持つ PHP フォームがたくさんあり、(空白のままにすると) 空の文字列を返すことです。

4

2 に答える 2

43

文字列を囲むことができますNULLIF()

次のように使用します。

NULLIF('test','') --> returns 'test'
NULLIF(''    ,'') --> returns NULL
于 2012-11-15T00:10:04.893 に答える
1

NULLIFの代わりに、デフォルトをNULLに設定し、空のフィールドを渡さないようにすることもできます。

于 2012-11-15T00:13:52.973 に答える