2011-02-27 5 views
4

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

Пример: Email: | Имя: | |

Email - Требуется поэтому столбец устанавливается в NOT NULL - По умолчанию: Нет

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

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

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

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

Что лучше и зачем?

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

ответ

10

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

7

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

Для получения дополнительной информации, почему вы хотите использовать NULL в сравнении строка посмотреть здесь: MySQL, better to insert NULL or empty string?

0

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

+0

Спасибо за голову. Я не буду индексировать эти столбцы с значениями NULL, так что, надеюсь, не будет проблемой для меня. Благодаря phplover – PHPLOVER

Смежные вопросы