【发布时间】: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