MySQL中Decimal字段的数据截断异常

时间:2014-12-11 06:31:30

标签: mysql

对于你们许多人来说,这似乎是一个非常愚蠢的问题。我在网上看到了很多关于这个问题的讨论。为了更清楚地了解数据类型,我发布了它。

为我们的应用程序维护了一个MySQL数据库。它有一个带有十进制(4,2)字段的表,称为'得分'。 以下陈述给出例外 - 数据截断:列'得分超出范围值'在第1行

      update interaction_events set score=100.0 where id=92;

十进制(4,2)意味着可能有4位数字,其中2位于小数点后面,我是否理解错误?

你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

您的理解是正确的,但是如果您最多有4位数,并且2点之后您可以在该点之前至少2,那么如果您想存储100.0,则必须使用声明为{{ 1}}。

答案 1 :(得分:1)

多数民众赞成。 decimal(4,2)表示数据可以是dd.dd,其中d是数字

Worth a read