DOUBLE(5,5)的数值超出范围

时间:2016-09-19 05:25:35

标签: php mysql sql database

我的数字值超出范围Numeric value out of range: 1264 Out of range value for column 'Value' at row 1

当我试图做

$GetLatId = $PDO -> prepare("INSERT INTO `longitude` (`Value`) VAlUE(:Val);");
$GetLatId -> bindValue(':Val',12345.12345);
try{
    $GetLatId -> execute();
}catch (PDOException $e)
{
    die($e->getMessage());
}

Value字段为DOUBLE(5,5)

这可以是mysql配置吗?

1 个答案:

答案 0 :(得分:3)

如果您阅读文档,您会看到Double 5,5表示您已将最大位数定义为5,而此5位于小数点之后。

Official Doc

  

MySQL允许非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE   PRECISION(M,d)。这里,(M,D)表示可以存储最多值   总共M位,其中D位可以在小数点后面。   例如,定义为FLOAT(7,4)的列将显示为-999.9999   何时显示。 MySQL在存储值时执行舍入,所以如果你   将999.00009插入FLOAT(7,4)列,大致结果为   999.0001。

存储价值所需的是Double(10,5)