Out of range value for column 'amount' at row 1

0

Mam w tabeli kolumnę

amount DECIMAL(10,10) NULL

Zapisuję do niej dane

preparedStatement
            = this.getConnection().prepareStatement
            ("UPDATE wallets SET amount = ? WHERE id = ?");
    preparedStatement.setBigDecimal(1, new BigDecimal("2.5"));
...

i otrzymuję wyjątek

Exception in thread "main" com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'amount' at row 1

Nie wiem dlaczego tak się dzieje.

1

Bo używasz DECIMAL(10,10), co oznacza liczbę o długości 10 z dziesięcioma miejscami po przecinku. Nie ma tutaj miejsca na liczbę większą od 0. Spróbuj np. DECIMAL(15,5)

1 użytkowników online, w tym zalogowanych: 0, gości: 1