1) all date/time datatypes in MySQL are stored as strings. No FLOAT problem here!
2) we do not consider UNIQUE KEYS when updating from the GRIDS. One reason is that a UNIQUE KEY may be defined on NULLABLE columns and for those columns where the value of such column IS NULL a UNIQUE KEY is actually non-unique!
3) I think the native date/time datatypes will be fastest and also most convenient in most situations. Only for data where it could happen that a DATE is TOO OLD for the MySQL DATE etc. type (like the year where Zarathustra was born!) types I would consider storing year, month, day etc. as seperate INTEGER values. However storing a UNIX_TIMESTAMP (as integer or as string) is also always a possibility. This is widely used by standard web applications designed to work on different RDBMS as UNIX_TIMESTAMP type is the same everywhere as opposite to DATE, TIME, DATETIME, TIMESTAMP etc. being implemented differently in different RDBMS. An example is our own FAQ system (phpMyFaq) that runs on many different RDBMS (MySQL, MS SQL, Oracle, Sybase, DB-2, SQLite and probably more)
Functions to work with UNIX_TIMESTAMPS are described here:
http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html4) I am not able to understand why updation failed for you as there are no FLOAT types. Could you provide an example (just a small table with a few rows or at least a structure-only DUMP) where this is reproducable? Maybe some detail that we should fix/consider/document. Also: did you check in HISTORY what SQL was sent?