Хорошо ли использовать значение по умолчанию NULL? - PullRequest
5 голосов
/ 27 февраля 2011

У меня есть несколько столбцов, которые могут содержать данные, если пользователь хочет их предоставить.

Пример | Электронная почта | Имя | Фамилия |

Электронная почта - Обязательный, поэтому для столбца установлено значение NOT NULL - По умолчанию: Нет

Имя - Не требуется, поэтому для столбца установлено значение NULL - По умолчанию: NULL

Фамилия - не требуется, поэтому для столбца установлено значение NULL - по умолчанию: NULL

В phpmyadmin при создании / редактировании столбца; у него есть опция, говорящая По умолчанию: с раскрывающимся списком, показывающим Нет | Как определено | NULL | Текущая отметка времени

Потому что Имя | Фамилия является необязательной и не требуется, если я выбираю значение по умолчанию NULL или, может быть, NONE?

Что лучше и почему, пожалуйста?

Я знаю, что уже было много дискуссий по этому вопросу, но я не смог найти ни одной, которая ответила бы на мой вопрос; они касались разрешения NULL или NOT NULL, мой вопрос о значении по умолчанию.

Ответы [ 3 ]

11 голосов
/ 27 февраля 2011

Вам следует установить для них значение по умолчанию: Нуль, как если бы пользователь не предоставлял никакой информации для этих полей, очевидно, они должны быть нулевыми.

7 голосов
/ 27 февраля 2011

Используйте NULL, режим None вставляет строку 'None' или some '', чтобы указать, что там ничего нет ....

Для получения дополнительной информации, почему вы хотите использовать NULL вместо строки, смотрите здесь: MySQL, лучше вставить NULL или пустую строку?

0 голосов
/ 27 февраля 2011

Если вы планируете индексировать эти столбцы NULL, у вас действительно будут проблемы с производительностью больших таблиц (с более чем 1 миллионом строк ...). Однако использование пустой строки или NULL в качестве строки ('null') для значения по умолчанию может повысить производительность вашего запроса в этих случаях. Кстати, я не говорю, что NULL - это зло, но вот некоторые случаи, с которыми мы столкнулись в телекоммуникационном бизнесе.

...