Да, еще один NULL или вопрос о пустой строке.
Я согласен с идеей, что NULL означает не установлено, в то время как пустая строка означает «пустое значение». Вот моя проблема: если значение по умолчанию для столбца равно NULL, как разрешить пользователю вводить этот NULL.
Допустим, в системе создан новый пользователь. Существует поле имени и фамилии; фамилия обязательна, а имя - нет. При создании пользователя человек увидит 2 текстовых ввода, один для первого и один для последнего. Человек решает ввести только фамилию. Первое имя технически не установлено. Во время вставки я проверяю длину каждого поля, устанавливая все поля, которые являются пустыми, в NULL.
При просмотре базы данных я вижу, что имя не задано. Сразу возникает вопрос: возможно, они никогда не видели поле имени (то есть из-за ошибки). Но это не так; они оставили, если пусто.
Итак, мой вопрос: как вы решаете, когда поле должно быть установлено в NULL или пустую строку при получении ввода пользователя? Откуда вы знаете, что пользователь хочет, чтобы поле не было установлено без определения фокуса или если он удалил значение ... или ... или ...?
Смежный вопрос: Должен ли я использовать NULL или пустую строку для представления данных в столбце таблицы?