Mysql十进制数问题



我试图在MySQL数据库中保存多达三个小数点的数字。我尝试了float, float(3,2)和decimal(3,2),但没有一个能正确保存它们。请建议我应该使用哪种数据类型。

感谢

From MySQL docs:

salary DECIMAL(5,2)

在本例中,5是精度,2是比例。精度表示值可存储的有效位数,小数表示小数点后可存储的位数。

对于3位小数,你需要一个&;3&;作为第二值。还要检查第一个数字:是否所有期望的数字都适合这个数字?

上面的salary列存储的值最高可达999.99。对于1000或更高的值(或-1000或更低),您将得到一个错误。更多小数(12.345)将导致值被截断的警告。

不使用FLOAT(m,n)

DECIMAL(3,2)的最大值为9.99
DECIMAL(5,3)的最大值为99.999
DECIMAL(8,3)的最大值为99999.999

第二个和第三个例子有"三位小数位">&;(只有1个"小数点")

IP地址(如192.168.11.22)有3个"小数点"。

如果"他们都没有正确保存",那么请提供一个不能正常工作的INSERTUPDATE的例子,加上SHOW CREATE TABLE