尽管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'超出范围值
答案 0 :(得分:0)
您正在为double
列指定较小的尺寸和精度。第一个值为5的参数表示存储的数字中最多可以有5位数字。第二个参数指示在小数点右边可以有多少个。您需要增加大小和小数位数。
答案 1 :(得分:0)
问题不在于超出双精度限制,而是您指定了值只能在小数点后两位。您正在尝试在小数点后插入三位数的值。这就是为什么您超出范围错误。 我建议在插入之前四舍五入这些值。