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