gpt4 book ai didi

mysql - Node : MySQL returns inaccurate decimal values

转载 作者:行者123 更新时间:2023-11-29 04:34:20 25 4
gpt4 key购买 nike

我有一个存储十进制值的 MySQL 数据库 (DECIMAL(32, 12))。当我使用 HeidiSQL 选择值时,值显示正确(例如 15922.638440778302)。但是当我在 NodeJS 中使用 MySQL 绑定(bind) ( https://github.com/mysqljs/mysql ) 执行相同操作时,它会显示 15922.638440778303

我的 SQL 查询非常简单:

SELECT SUM(`amount`) FROM `balances`;

知道是什么导致了这种差异吗?也许我需要在 NodeJS 的 MySQL 初始化期间指定精度?目前,除了登录凭据,我没有指定任何内容:

let mysql = require('mysql').createPool({
host: global.dbconfig['dbhost'],
database: global.dbconfig['dbname'],
user: global.dbconfig['dbuser'],
password: global.dbconfig['dbpass']
})

最佳答案

将以下行添加到您的 mysql 配置中。

 supportBigNumbers: true
bigNumberStrings: true

然后变成:

let mysql = require('mysql').createPool({
host: global.dbconfig['dbhost'],
database: global.dbconfig['dbname'],
user: global.dbconfig['dbuser'],
password: global.dbconfig['dbpass'],
supportBigNumbers: true,
bigNumberStrings: true,
})

有关连接选项的更多信息:docs

关于mysql - Node : MySQL returns inaccurate decimal values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48028240/

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