对于你们许多人来说,这似乎是一个非常愚蠢的问题。我在网上看到了很多关于这个问题的讨论。为了更清楚地了解数据类型,我发布了它。
为我们的应用程序维护了一个MySQL数据库。它有一个带有十进制(4,2)字段的表,称为'得分'。 以下陈述给出例外 - 数据截断:列'得分超出范围值'在第1行
update interaction_events set score=100.0 where id=92;
十进制(4,2)意味着可能有4位数字,其中2位于小数点后面,我是否理解错误?
你能帮忙吗?答案 0 :(得分:1)
您的理解是正确的,但是如果您最多有4位数,并且2点之后您可以在该点之前至少2,那么如果您想存储100.0,则必须使用声明为{{ 1}}。
答案 1 :(得分:1)
多数民众赞成。 decimal(4,2)表示数据可以是dd.dd,其中d是数字