Default null, але значення notnull

Є такі таблички

Зверніть увагу на те що у

У мене за замовчуванням NULL в тих полях де значення не може бути NULL Навіщо така безглузда структура таблиць? Відповідь дуже проста: Для того щоб при спробі вставки порожнього значення (наприклад значення порожній змінної) в таблицю, вставка не відбувається і виходила помилка. Зрозуміло що, перш ніж вставити в таблиці в php коду завжди є валідація данниз, але раптом випадково або невипадково щось піде не так?

Я задавав значення NOT NULL. NULL по умовчання я спеціально НЕ ставив. Це СУБД, якою я користуюся, ставить NULL.

Не все те що здається на перший погляд абсолютним маренням, є таким.

УВАГА! питання: Чи правильно я зробив? Я вважаю що це дійсно сильно! Чи ні?

у мене при спробі вставки null значення, вставка не відбувається. Тому що якщо значення змінної NULL і воно вставляється в поле яке не повинно бути NULL, виходить помилка. Чи я не правий АБО потрібно ще раз протестувати. Ну а те що у мене в PRI notNULL і default NULL - то це вже некоректно (?) - root_x Povierennyy 30 дек '16 о 10:06

default NULL - значить що значення за замовчуванням не визначено. а раз воно не визначено то якщо при вставці в таблицю дане поле не заповнювати то в нього спробує записатися NULL і так, буде помилка вставки. І це нормальна поведінка. Повинна ж СУБД як то відреагувати на те що забули поставити значення для обов'язкового поля - Mike 30 дек '16 о 10:24