Bene, questo è il problema, tipo di dati. Secondo i documenti :
La sintassi della dichiarazione per una colonna DECIMAL è DECIMAL(M,D). Gli intervalli di valori per gli argomenti in MySQL 5.6 sono i seguenti:
M è il numero massimo di cifre (la precisione). Ha un intervallo da 1 a 65. (Le versioni precedenti di MySQL consentivano un intervallo da 1 a 254.)
D è il numero di cifre a destra della virgola decimale (la scala). Ha un intervallo da 0 a 30 e non deve essere maggiore di M.
Quindi il tuo DECIMAL(5,2)
il tipo di colonna può contenere numeri fino a 999.99
. Dovrai modificare la tabella e ingrandire la colonna.
(Per quanto riguarda il motivo per cui MySQL preferisce corrompere i tuoi dati piuttosto che segnalarli, beh, questa è stata la sua filosofia fin dai primi anni. Puoi giocare con Modalità SQL per risolvere il problema.)