我的数字值超出范围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配置吗?
答案 0 :(得分:3)
如果您阅读文档,您会看到Double 5,5表示您已将最大位数定义为5,而此5位于小数点之后。
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)