我得到的数值超出范围数值超出范围:1264第1行“值”列的超出范围值
当我试图做
$GetLatId = $PDO -> prepare("INSERT INTO `longitude` (`Value`) VAlUE(:Val);");
$GetLatId -> bindValue(':Val',12345.12345);
try{
$GetLatId -> execute();
}catch (PDOException $e)
{
die($e->getMessage());
}
值字段为DOUBLE(5,5)
这可以是mysql配置吗?
解决方法:
如果阅读文档,则会看到Double 5,5表示您已将最大位数定义为5,而这5则位于小数点之后.
MySQL permits a nonstandard syntax: FLOAT(M,D) or REAL(M,D) or DOUBLE
PRECISION(M,D). Here, (M,D) means than values can be stored with up to
M digits in total, of which D digits may be after the decimal point.
For example, a column defined as FLOAT(7,4) will look like -999.9999
when displayed. MySQL performs rounding when storing values, so if you
insert 999.00009 into a FLOAT(7,4) column, the approximate result is
999.0001.
您需要存储的值是Double(10,5)
标签:sql,mysql,php,database
来源: https://codeday.me/bug/20191118/2026062.html