はい、別の NULL と空の文字列の質問です。
NULL は設定されていないことを意味し、空の文字列は「空の値」を意味するという考えに同意します。ここに私の問題があります。列のデフォルト値が NULL の場合、ユーザーがその NULL を入力できるようにするにはどうすればよいですか。
システムで新しいユーザーが作成されたとします。姓と名のフィールドがあります。姓は必須ですが、名は必須ではありません。ユーザーを作成すると、最初と最後に 1 つずつ、2 つのテキスト入力が表示されます。その人は姓のみを入力することを選択します。名は技術的に設定されていません。挿入中に、各フィールドの長さをチェックし、空のすべてのフィールドを NULL に設定します。
データベースを見ると、名が設定されていないことがわかります。すぐに頭に浮かぶ疑問は、名前フィールドを見たことがない (つまり、エラーのため) ということです。しかし、そうではありません。空白の場合、彼らは去りました。
それで、私の質問は、ユーザー入力を受け取ったときに、フィールドを NULL または空の文字列に設定する必要があるタイミングをどのように決定するのですか? ユーザーがフォーカスを検出せずにフィールドを設定しないことを望んでいること、または値を削除したことをどのように知ることができますか...または...または...?