不能将float或decimal插入mysql db

时间:2012-11-28 19:13:19

标签: mysql sql

我想将值33.55555插入数据库。即使将mysql行更改为floatdecimal,我也无法正确执行此操作 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

1 个答案:

答案 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