Typy dziesiętne MySql są nieco bardziej skomplikowane niż tylko z lewej i prawej strony kropki dziesiętnej.
Pierwszy argument to precyzja , czyli całkowita liczba cyfr. Drugi argument to skala czyli maksymalna liczba cyfr po prawej stronie przecinka dziesiętnego.
Zatem (4,2)
może wynosić od -99.99
do 99.99
.
Dlaczego otrzymujesz 99.99
zamiast pożądanego 3.80
, wartość, którą wstawiasz, musi być interpretowana jako większa niż 99.99
, więc używana jest wartość maksymalna. Może mógłbyś opublikować kod, którego używasz do wstawiania lub aktualizowania tabeli.
Edytuj
Poprawiono niezrozumienie użycia skali i precyzji, na http ://dev.mysql.com/doc/refman/5.0/en/typy-numeryczne.html .