MySql 4.0.25 Erro de dados

Galera,

Tenho um campo valtotal que é o campo onde eu armazeno o valor total de uma compra, ele é um decimal(10,4).
Mas o problema é que se comporta como um decimal(7,4) não aceitando mais que 7 casas antes da vírgula.
Alguém sabe como corrigir esse problema e porque está acontecendo isso?

O problema é que o decimal não suporta tudo isso, veja:

http://dev.mysql.com/doc/refman/4.1/pt/storage-requirements.html

vc precisa de uma coluna de uns 8 bytes que seria a bigint ai aceita até 9223372036854775807 so que ai não da pra por o ponto vc teria que formatar depois em sua aplicação…

Valeu Maniezo,

Porém quando você define decimal(10,4), significa que seu número tem 10 posições, sendo que 4 delas é a parte fracionada. Se vc quer ter 10 dígitos inteiros e 3 fracionados, você tem que definir decimal (13, 3).

Este comportamento está descrito no manual, que pode ser encontrado em www.mysql.com/documentation.

E só agora que vi!
Valeu moçada!! =)