Sembra esserci un limite di sei cifre su ciò che viene mostrato fuori dalla CLI (e probabilmente altrove). L'esempio che hai è 1.12305e-06 che è 0.00000112305 che verrebbe mostrato come 0.00000, anche se chiaramente non è zero.
Se insisti nell'usare float o double, dovrai forzarli a uscire usando qualcosa come round(columnName,5)
per forzare la visualizzazione in un valore decimale. In caso contrario, potresti passare a un tipo di dati decimale.
Da http://dev.mysql.com/ doc/refman/5.0/en/floating point-types.html
Poiché i valori a virgola mobile sono approssimativi e non archiviati come valori esatti, i tentativi di trattarli come esatti nei confronti possono causare problemi. Sono inoltre soggetti a dipendenze dalla piattaforma o dall'implementazione. Per ulteriori informazioni, vedere la Sezione C.5.5.8, “Problemi con valori in virgola mobile ”
Vedi anche questo thread sui forum mysql su questo esatto problema.