我想将值33.55555
插入数据库。即使将mysql行更改为float
或decimal
,我也无法正确执行此操作
MySQL的:
ALTER TABLE `test` CHANGE `test1` `test1` DECIMAL( 10,10 ) NOT NULL
插入33.55555
后,通过此sql命令将其转换为0.9999999999
ALTER TABLE `test` CHANGE `test1` `test1` FLOAT( 10,10 ) NOT NULL
33.55555
已转换为1.0000000000
答案 0 :(得分:5)
您的DECIMAL()和FLOAT()声明已关闭。第一个参数是您希望数字的长度,第二个参数是其中有多少是小数。所以当你说FLOAT(10,10)时,你要说的是给我一个10位数的列,小数点后面的10位数字。
十进制和浮点数的近似值也不同。小数是固定点值,而浮点数是浮点值。
.999999999和1.000000是列的最大值。
尝试插入35.55555:
ALTER TABLE `test` CHANGE `test1` `test1` DECIMAL( 7,5 ) NOT NULL