在mysql整数8.5中存储为8.0

时间:2016-10-18 06:39:08

标签: php mysql

尝试在mysql数据库中插入带有PHP的整数1.5,但插入的数字为1.0,2.0如何正确插入(1.5)?

$number = 1.5;

数字mysql数据类型:number numeric(3,2);

$stmt = $this->db->prepare('UPDATE scores SET number = ? WHERE id = 1');
$stmt->bind_param('i', $number);

更新: 问题是$stmt->bind_param('i', $number);它将mysql记录更新为整数(i)(1)。正确使用$stmt->bind_param('d', $number);在更新以$ stmt减速的条目之前,它为(d)double(1.5)。

2 个答案:

答案 0 :(得分:0)

前1和2是整数1.5是float或double 值,这意味着此字段中的值类型必须与此类型匹配。尝试更改其类型。

其次我认为如果是主键,表中的ID如果type为double / float 则不能自动增加,所以你需要确保数据库表中的每条记录都是正确的。

我想让你也问为什么你想要一个浮动/双重ID,这不是选择表中数字名称的好选择。更好的方法是使唯一标识符名称ID不是最好的,因为它确定了 mysql 中的主要内容。

答案 1 :(得分:0)

请使用number数据类型FLOAT和长度15,2。我希望能解决你的问题。