gpt4 book ai didi

mysql - 如何将 DECIMAL 插入 MySQL 数据库

转载 作者:IT老高 更新时间:2023-10-28 23:44:59 30 4
gpt4 key购买 nike

我有一个包含一些字段的数据库表,其中一个 cost 设置为 DECIMAL 数据类型。我将参数设置为4,2,这应该允许小数点前4个数字,小数点后2个。

(有人告诉我,这里的4是总金额,2是小数点后的金额,有人能把它清除一下吗旁注?)

当我通过 POST 请求(例如值 3.80)插入数据时,存储到我的数据库中的数据实际上是 99.99

我做错了什么导致这个?

这是 table :

CREATE TABLE IF NOT EXISTS `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(256) NOT NULL,
`cost` decimal(4,2) NOT NULL,
PRIMARY KEY (`id`)
)

这是我的添加查询:

INSERT INTO mytable (`id`,`title`,`cost`) 
VALUES (0, 'test title', '3.80')

更新:我将 4,2 更改为 6,2 后它可以工作

最佳答案

MySql 的十进制类型比小数点的左边和右边稍微复杂一些。

第一个参数是precision,即总位数。第二个参数是scale,它是小数点右边的最大位数。

因此,(4,2) 可以是从 -99.9999.99 的任何值。

至于为什么你得到 99.99 而不是所需的 3.80,你插入的值必须被解释为大于 99.99,所以使用最大值。也许您可以发布用于插入或更新表格的代码。

编辑

根据 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html 更正了对比例和精度使用的误解.

关于mysql - 如何将 DECIMAL 插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999582/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com