Правильный выбор значений для строк таблицы БД: Null, ' ', Not null, '0'

Гриша К.

Новичок
Правильный выбор значений для строк таблицы БД: Null, ' ', Not null, '0'

Здравствуйте.
Неполучается уяснить правила выбора значений по умочанию для строк таблицы БД.
У меня в 2-х книгах написано про эти значения, но не как не доганяю до этого. Поиском пользовался (Null, not null), ответа не нашел.

Вот пример из докуметации:
mysql> INSER INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES ('');

Оба оператора вставляют значение в столбец phone, но первый из них всиавляет значение NULL, а второй - пустую строку. Смысл первого можно рассматривать как "номер телефона не известен", а смысл второго - как "известно, что у этого человека нет телефона, а следовательно у него нет и номера".
Я создал таблицу my_table и поле (phone), указав значение по умолчанию NULL, выполнил указанный выше запрос, увидел две строки, в одной NULL, в другой пусто.
Затем сделал значение по умолчанию NOT NULL, и выполнить первую строку запроса не смог. Можно было записать только пустое значение.


Пример таблицы БД при просмотре в phpmyadmin:
PHP:
|     Поле       |        Тип      | Ноль| По уморлчанию  |
|----------------|-----------------|-----|----------------| 
| customerid     | int(10)         | Нет |                |        
| username       | char(12)        | Нет |                |          
| password       | char(34)        | Нет |                |          
| email          | char(100)       | Нет |                |         
| privilege      | tinyint(4)      | Да  | 0              |            
| account        | decimal(10,2)   | Да  | 0.00           |                
| date_register  | date            | Нет | 0000-00-00     |
|----------------|-----------------|-----|----------------|
К примеру в таблицы пользователей форума phpbb, поле e-mail по умолчанию NULL, но оно также обязательно для ввода как и у меня.

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