Det verkar finnas en sexsiffrig gräns för vad som visas i CLI (och förmodligen någon annanstans). Exemplet du har är 1.12305e-06 som är 0.00000112305 som skulle visas som 0.00000 – även om det uppenbarligen inte är noll.
Om du insisterar på att använda flöten eller dubblar, måste du tvinga ut dem med något som round(columnName,5)
för att tvinga visningen i ett decimalvärde. Annars kanske du byter till en decimnal datatyp.
Från http://dev.mysql.com/ doc/refman/5.0/en/floating-point-types.html
Eftersom flyttalsvärden är ungefärliga och inte lagras som exakta värden, kan försök att behandla dem som exakta i jämförelser leda till problem. De är också föremål för plattforms- eller implementeringsberoende. För mer information, se avsnitt C.5.5.8, "Problem med flytande poäng ”
Se även denna tråd på mysql-forumen om just detta problem.