@Ayk72

Зачем нужен Null в MySQL?

Всем привет!

Наверно этот вопрос может показаться смешным или глупым, НО.

Никак не могу сообразить, зачем в MySQl нужен NULL по умолчанию? В каких случаях его ставить?
Я так понял его ставят в тех случаях, когда поле может быть пустым в некоторых записях. Это так?
Почему тогда не оставить просто пустое значение? Зачем NULL? Он дает какие-то преимущества?
И если числовое поле, то почему просто не поставить по умолчанию 0, в чем разница?

Спасибо.
  • Вопрос задан
  • 2850 просмотров
Пригласить эксперта
Ответы на вопрос 4
Markus_Kane
@Markus_Kane
Full-stack developer (Symfony, Laravel, Vue.js)
Для числового поля разница в том, что 0 может быть результатом арифметической операции, в то время как NULL говорит о том, что значение просто не было указано.
Аналогично - для пустой строки и других типов данных.
NULL как свойство поля читается как NULLABLE - т.е. значение для данного столбца необязательно для указания.
Ответ написан
@RidgeA
"0", пустая строка и т.д. это то же значение. NULL же обозначает отсутствие значения.
Ответ написан
Комментировать
Adamos
@Adamos
Ну, попробуйте установить "нулевое значение" для даты или логического поля.
Внезапно, это будет 1970-01-01 и false, а не какое-то "отсутствие значения".

Кроме того, NULL - это значение поля при LEFT JOIN в случае, если во второй таблице не нашлось подходящей строки. Опять-таки - не нулевое значение, а его отсутствие.
Ответ написан
Комментировать
@Kim_Maksim
Дополню еще 1 вопросом а чем отличается от None?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы