Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当按列显示多个值时,MYSQL更新中的输出错误_Mysql_Sql Update - Fatal编程技术网

当按列显示多个值时,MYSQL更新中的输出错误

当按列显示多个值时,MYSQL更新中的输出错误,mysql,sql-update,Mysql,Sql Update,我在MYSQL中使用以下查询将colname中的值乘以1000。colname的数据类型为double。它工作正常,但对于表中的一个值,它给出了错误的输出。值为1066203.9,更新后值应为1066203900,但输出值为1066203899.9999999 UPDATE tablename SET colname=colname*1000 WHERE id=1 检查列的数据类型。值可能超出范围。双精度值不精确,因此您看到的可能是正常值。。。看看这个问题和答案:你可能想用十进制代替。也许你在

我在MYSQL中使用以下查询将colname中的值乘以1000。colname的数据类型为double。它工作正常,但对于表中的一个值,它给出了错误的输出。值为1066203.9,更新后值应为1066203900,但输出值为1066203899.9999999

UPDATE tablename SET colname=colname*1000 WHERE id=1

检查列的数据类型。值可能超出范围。双精度值不精确,因此您看到的可能是正常值。。。看看这个问题和答案:你可能想用十进制代替。也许你在相乘之前看到的值,1066203.9,实际上是从1066203.899999999四舍五入的。当我用1066203.8代替1066203.9时,意思是.8代替.9,那么它就行了fine@fthiella如果我将数据类型从double更改为decimal,它会影响现有值吗