Nå, det er problemet, datatype. Ifølge dokumenterne :
Deklarationssyntaksen for en DECIMAL kolonne er DECIMAL(M,D). Værdiintervallerne for argumenterne i MySQL 5.6 er som følger:
M er det maksimale antal cifre (præcisionen). Den har et interval på 1 til 65. (Ældre versioner af MySQL tilladt et interval fra 1 til 254.)
D er antallet af cifre til højre for decimaltegnet (skalaen). Den har et interval på 0 til 30 og må ikke være større end M.
Så din DECIMAL(5,2)
kolonnetypen kan indeholde tal op til 999.99
. Du bliver nødt til at ændre tabellen og gøre kolonnen større.
(Med hensyn til hvorfor MySQL foretrækker at korrumpere dine data frem for at rapportere dem, ja, det har været dens filosofi fra de første år. Du kan lege med SQL-tilstande for at rette det.)