Mysql更新字段,精度浮动数值字段问题

时间:2014-11-04 10:03:42

标签: php mysql

我有两个表,都有一个float(12,4)类型的字段。

让我们说table1.field1 float(12,4)和table2.field1 float(12,4)

如您所见,字段声明相同

问题在于更新这些字段。如果我使用相同值更新这些字段,则会存储不同的值

插入table1(field1)值(101.4904); update table2 set field1 = field1 + 101.4904

在这些sql语句之后,字段的差异为0.0018

这是在我的本地计算机上测试的,因此没有对数据库进行其他更新。

任何导致这种差异的线索?

1 个答案:

答案 0 :(得分:1)

根据定义,

float是一种不准确的数据类型。如果您需要精确的精度,请使用decimal(15,6)例如