Gracias por el consejo miraré la web de mysql-hispano a ver si encuentro la respuesta y probaré con varchar a ver si funciona.
Sobre la diferencia entre 5,1 € y 5,10 €, la forma oficial de escribir los euros es siempre con dos decimales y si lees los dos números en el primer caso dírias
cinco con uno que se puede interpretar como 5 euros más un céntimo y en el segundo caso dirías
cinco con diez siendo cinco euros más diez céntimos, por lo tanto, evidentemente no es lo mismo...
Voy a probar las soluciones y os comento si sale bien.
Gracias