Я создаю приложение PHP/MySQL, и у меня возникает проблема с моим запросом на создание и обновление. У меня есть 5 столбцов, для которых установлен тип FLOAT, которые также заданы как столбцы NULL. Я не планирую заполнять их до тех пор, пока в рабочем процессе не появится намного больше.
Однако мне нужно создать новые записи для этой базы данных, и мне нужно отредактировать существующие записи, не касаясь этих 5 полей float. Я использую OOP PHP, который использует стандартный метод save()
, который проверяет, существует ли идентификатор в объекте. Если нет, он вызывает create()
, и если это так, он вызывает update()
. Он работает очень хорошо, обычно.
Методы update()
и create()
предназначены для вытягивания из массива атрибутов protected static $db_fields
, объявленного в верхней части каждого класса, который содержит все поля, используемые в этой таблице. update()
и create()
проходят через этот массив и соответственно INSERT INTO
или UPDATE
в SQL.
Я понимаю, что если вы используете ''
(две одинарные кавычки, пустые), SQL пропустит те запросы INSERT INTO
или UPDATE
и оставьте их как NULL. Есть даже поля формы для этих 5 значений с плавающей точкой в любом месте страницы, поэтому, конечно, при запуске методов значения будут ''
.
Вот почему я получаю сообщение "Data truncated"? Кажется совсем другим - я до сих пор не видел усеченной ошибки и почему я прихожу к вам, гениям. Спасибо.