I'm building a PHP/MySQL application and I'm running into a problem with my create and update query. I have 5 columns that are set to type FLOAT that are also set as NULL columns. I don't plan to fill them in until much later in the workflow.
However, I need to create new records for this database, and I need to edit existing records, without touching these 5 float fields at all. I'm using OOP PHP that uses a standard save()
method that checks to see if an ID exists in the object. If not, it calls create()
, and if so, it calls update()
. It works very well, usually.
The update()
and create()
methods are designed to pull from a protected static $db_fields
attribute array declared at the top of each Class, that contains all of the fields used in that table. update()
and create()
run through that array and either INSERT INTO
or UPDATE
in SQL, accordingly.
My understanding is that if you use ''
(two single quotes, empty), SQL will skip those INSERT INTO
or UPDATE
requests and leave them as NULL. There aren't even form fields for those 5 float values anywhere on the page, so of course when the methods run, the values are going to be ''
.
Is that why I'm getting the "Data truncated" error? It seems different -- I haven't seen the truncated error before and that's why I'm coming to you geniuses. Thanks.