РЕДАКТИРОВАТЬ: Спасибо за все указатели. Я подправил, но проблемы все еще есть. Я удалил любую переменную POST
, в которой в качестве значения использовалась только пустая строка, но когда я создаю экземпляр класса, я сталкиваюсь с новой проблемой ... если для атрибута нет значения, для него автоматически устанавливается значение NULL
. Есть ли способ обойти это?
ОТВЕТ НА МОЙ СОБСТВЕННЫЙ ВОПРОС: Сначала значения по умолчанию MySQL используются только в том случае, если ничего не задано - даже не пустая строка. Во-вторых, если вы создаете экземпляр класса и не назначаете значение атрибуту, тогда этот атрибут устанавливается на NULL
, нравится вам это или нет! (Если кто-нибудь знает способ переопределить это, что было бы здорово.)
Поэтому решение моей проблемы состоит в том, чтобы поместить все значения по умолчанию в качестве значений по умолчанию в классе как они тогда проталкиваются.
Сейчас я перестраиваю сайт и у меня есть несколько хороших «автоматизированных» форм, которые позволяют мне быстро заполнять таблицы в БД для тестирования. (Они извлекают имена полей из классов, которые отображаются на таблицы БД. Быстро и грязно, но работает.)
Одна из неприятностей в **** заключается в том, что пустое поле, где для этого столбца установлено значение NOT NULLВинт вещи вверх. (Не большая проблема на данном этапе, поэтому я просто пишу вещи.) Например,
`messageOrder` ENUM('random','sequential') NOT NULL DEFAULT 'sequential'
Я должен ввести «squential» в поле «messageOrder» input
, чтобы получить значение по умолчанию.
Глядя здесь и в других местах, кажется реальной проблемой вставить значение по умолчанию. Все решения, которые я вижу, включают в себя триггеры и тому подобное и заранее знают, какие поля нужно отсортировать. Итак, два вопроса:
1) существует ли автоматизируемое решение проблемы и
2) когда вступают в силу значения по умолчанию?