Почему MySQL записывает пустое значение в поле NOT NULL?



Not null

Автор Ётас задал вопрос в разделе Другие языки и технологии

MySQL пишет пустое в NOT NULL, почему? и получил лучший ответ

Ответ от Капитан Гугл[гуру]
В MySQL ограничение NOT NULL запрещает только запись специального значения NULL, которое означает полное отсутствие данных. Пустая строка является вполне допустимым текстовым значением и технически не считается нулевым. Поэтому если вы передаете в запросе пустую строку, база данных успешно её записывает, так как это не нарушает условие NOT NULL. Часто визуальную пустоту ячейки ошибочно путают с отсутствием значения. Чтобы решить проблему, перепроверьте способ формирования вашего запроса и убедитесь, что ограничение NOT NULL действительно применено к нужному столбцу. Если пустые строки недопустимы по бизнес-логике, добавьте дополнительную проверку на уровне вашего приложения, чтобы блокировать их ввод до отправки запроса в базу данных.

Ответ от Jurijus Zaksas[гуру]
Еще некоторые базы не считают пустую строку за нулл - учитывай этот момент.

Ответ от Ёаня Семенов[гуру]
пустата это не везде NULL

Ответ от Михаил Губарев[гуру]
Должно записывать пустую строку. Перепроверьте.

Ответ от Максим Тучин[активный]
Должна быть пустая строка.

Ответ от ВикиВопрос[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: MySQL пишет пустое в NOT NULL, почему?

Учитель внука дала сокращённую форму от I am not - I amn\'tю Разве так бывает.
В стандартном английском языке общепринятой сокращённой формой для I am not является I'm not. Форма
подробнее...

В каких случаях в английском языке употребляется NO,а когда NOT?
NOT — это отрицательная частица «не», которая ставится перед глаголами, прилагательными, наречиями.
подробнее...

расскажите пожалуста какая разница между no и not в англ языке?
Основная разница в том, что no переводится как «нет» и используется прямо перед существительным без
подробнее...

Вот предложение : I do not like to play tennis. Надо ли после do not like ставить to ? По-моему надо...Вы как думаете ?
Вы абсолютно правы, в вашем предложении частица to необходима. После конструкции do not like
подробнее...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\\home\\bd.ru\\www\\mysql.php on l
Данное предупреждение означает, что функция mysql_query вернула ошибку вместо ресурса результата, и
подробнее...
NULL SQL на Википедии
Посмотрите статью на википедии про NULL SQL
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*