JavaScript 中的 64 位整数,来自 Mysql 请求

64bit integer in JavaScript, from Mysql request

我将这个数字 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 变量中。那我该怎么办?

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

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

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