首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >节点mysql在日志记录过程中提取结果并更改结果

节点mysql在日志记录过程中提取结果并更改结果
EN

Stack Overflow用户
提问于 2016-04-03 19:22:49
回答 1查看 39关注 0票数 0

目前,我有一个节点mysql的问题。

我的sql表有以下条目:

(id,steamid,name)值(1,76561198124567784,name1)

我使用以下查询:

代码语言:javascript
运行
复制
setInterval(function () {
    var connection = mysql.createConnection(db_access);
    connection.connect(function(err){
      if(err){
        console.log('Error connecting to Db');
        return;
      }
    });

    var q = "SELECT * FROM tradeOfferPoll";

    connection.query(q, function (err, results) {
        if (err) throw err;

        if (results.length > 0) {
            console.log(results[0].steamid);
            console.log(results[0].name);
        }
    });
}, 5000);

因此,每隔5秒,这将检查数据库,当一行出现时,它会告诉我这两行。

我注意到名称是正确的,但是id是错误的。只有1位数的变化,这是最后一个数字。

76561198124567784

76561198124567780

为什么最后一个数字在变?

EN

Stack Overflow用户

回答已采纳

发布于 2016-04-03 19:30:55

正在发生的情况是,mysql模块自动将列的值转换为JavaScript Number,后者只能准确地表示值小于或等于Number.MAX_SAFE_INTEGER (9007199254740991)的整数。您的steamid值大于此值,因此当解析该值并将其转换为Number时,会丢失该值的精度。

通过在连接配置中设置mysql,可以禁用mysql模块中的所有自动转换值。您也可以通过设置supportBigNumbers: true, bigNumberStrings: true来锁定数字。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36390029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档