Я создаю приложение 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"? Кажется совсем другим - я до сих пор не видел усеченной ошибки и почему я прихожу к вам, гениям. Спасибо.