【问题标题】:64bit integer in JavaScript, from Mysql requestJavaScript 中的 64 位整数,来自 Mysql 请求
【发布时间】:2015-08-14 14:23:58
【问题描述】:

我将这个数字 76561197993482001(64 位整数)作为 bigint(20) 存储在我的数据库中。

但是当我尝试使用以下方法获取它时:

//node.js
    query('SELECT * FROM table',function(err,rows){
      console.log(rows[0]["id"]);// I get 76561197993482000
      });

我打错电话了。我猜这是因为js无法处理64位变量。

我知道 js 中有 bigint 的库,但这个数字直接存储在 rows 变量中。那我该怎么办?

有没有办法在我发送请求时将其转换为文本?

【问题讨论】:

  • 根据您使用的中间件,它们中的大多数都有一个支持大数字的设置,the most common middleware 为此使用supportBigNumbers 选项。
  • 尝试在 sql 查询本身中将 bigint 转换为字符串
  • 谢谢! supportBigNumbers 选项完成了这项工作!
  • @adeneo:请将其转化为答案,以便我们正确投票

标签: javascript mysql node.js integer 64-bit


【解决方案1】:

根据您使用的中间件,它们中的大多数都有一个支持大数字的设置,最常见的中间件为此使用 supportBigNumbers 选项

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host              : 'example.org',
  user              : 'bob',
  password          : 'secret',
  supportBigNumbers : true
});

【讨论】:

    猜你喜欢
    • 2011-02-28
    • 2023-03-27
    • 2016-11-24
    • 1970-01-01
    • 2010-09-16
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多