Вот моя проблема:
Там, где я работаю, мне нужно запускать отчеты для очень большой базы данных. Я использую базовые SQL-запросы в PHP, чтобы фильтровать именно то, что я хочу. Время от времени в моих отчетах появляются группы, которые не соответствуют критериям моего поискового запроса.
Я заметил, что все «отставшие», которые появляются в моих отчетах, по-видимому, последовательно имеют значения NULL в определенных полях.
Глядя на структуру базы данных, я обнаружил, что для этих значений NULL в базе данных установлен флаг NOT NULL.
Оказывается, что на самом деле это не пустые значения, а пустые строковые значения или $ value = ''
В моем прошлом опыте, когда я начинал, я часто совершал эту ошибку, устанавливая что-то = '' вместо того, чтобы делать это NULL.
Я спросил администратора базы данных, может ли он придумать какую-либо законную причину, по которой они установлены таким образом (есть 300 000 нечетных записей, подобных этой), и он не имел ни малейшего понятия.
Я думаю, что это может быть другая ошибка программистов или кто-то пытается избежать невозможности вставить запись из-за флага "NOT NULL", установленного в этом конкретном поле.
Так что я ломаю голову здесь, пытаясь найти законную причину их существования, кроме моих собственных подозрений, что база данных не была разработана для этих двух типов записей: записи с этим значением и записи без этого значения .
Что ты думаешь?