when I try to update a record in the Data view of the table I get an error "0 rows updated when that should have been 1" I noticed that Heidi generates an Update / Set SQL statement with all the fields and values in the Where statement, when evaluating the where it fails, for example: i have a column with float (unsinged) value, the value is originaly 4.69, when the SQL does the compare:
SELECT * FROM `Table` WHERE `Param`=4.69; -> doesn't return the record SELECT * FROM `Table` WHERE `Param`>4.69000001; -> returns the record, although the value is 4.69 SELECT * FROM `Table` WHERE `Param`><4.69000001; -> doesn't return the record
this in turn fails the update statment - as it evaluate all parameters including the above.
I wonder why Heidi doesn't use the "Key" fields only for the "Where" statement - why does it look for the full param <-> value set ? is this configurable ? I wonder why MMySQL fails to evaluate the "where" statement correctly for floating point.