mySQL float列设置为默认值0有时包含wierd值

时间:2015-04-30 15:49:23

标签: mysql phpmyadmin

我在我的服务器上使用phpmyadmin 4.0.10.7并且我有一个浮动列有时不能正常工作:它被设置为默认值:0,但有时当新行为时,该值输入为0.00000000953674添加。 为什么会这样?

1 个答案:

答案 0 :(得分:0)

浮点数不会存储为精确值。请参阅MySQL关于问题here的文章。

除非您特别需要浮点精度,否则我建议切换到没有此问题的DECIMAL类型(从MySQL 5.0.3开始)。如果必须使用浮点数,请记住值不准确,直接比较并不总是有效(即WHERE myVal = 5)。相反,你应该进行远程比较(即WHERE myVal > 4.999 AND myVal < 5.001)。