为什么我超出两倍范围的范围错误?

时间:2019-04-26 11:30:57

标签: mysql sql

尽管double的限制很大。

create table numerictype2 (
    c1 decimal(3,2),
    c2 float(3,2),
    c3 double(5,2)
);

insert into numerictype2 values #insert values
(2.323,2.323,2.323),
(1.5,1.4,111.65);

为什么会出现此错误:

  

错误代码:1264。第2行的列'c3'超出范围值

2 个答案:

答案 0 :(得分:0)

您正在为double列指定较小的尺寸和精度。第一个值为5的参数表示存储的数字中最多可以有5位数字。第二个参数指示在小数点右边可以有多少个。您需要增加大小和小数位数。

答案 1 :(得分:0)

问题不在于超出双精度限制,而是您指定了值只能在小数点后两位。您正在尝试在小数点后插入三位数的值。这就是为什么您超出范围错误。 我建议在插入之前四舍五入这些值。

相关问题