我将此号码76561197993482001(64位int)存储为我的数据库中的bigint(20)。
但是当我尝试使用以下方式获取它时:
//node.js
query('SELECT * FROM table',function(err,rows){
console.log(rows[0]["id"]);// I get 76561197993482000
});
我得错了号码。我想这是因为js无法处理64位变量。
我知道js中有bigint的库但这个数字直接存储在rows变量中。那我该怎么办?
有没有办法在发送请求时将其转换为文本?
答案 0 :(得分:3)
根据您使用的中间件,大多数都有支持大数字的设置,最常见的中间件使用supportBigNumbers
选项
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret',
supportBigNumbers : true
});