Les types décimaux MySql sont un peu plus compliqués que juste à gauche et à droite du point décimal.
Le premier argument est la précision , qui est le nombre total de chiffres. Le deuxième argument est l'échelle qui est le nombre maximum de chiffres à droite de la virgule décimale.
Ainsi, (4,2) peut être n'importe quoi de -99.99 à 99.99 .
Quant à savoir pourquoi vous obtenez 99.99 au lieu du 3.80 souhaité , la valeur que vous insérez doit être interprétée comme supérieure à 99.99 , donc la valeur max est utilisée. Peut-être pourriez-vous publier le code que vous utilisez pour insérer ou mettre à jour le tableau.
Modifier
Correction d'un malentendu sur l'utilisation de l'échelle et de la précision, selon http ://dev.mysql.com/doc/refman/5.0/en/numeric-types.html .