Mysql 返回不正确的 bigint 结果 1,非常奇怪的错误

标签 mysql node.js rest bigint

我真的不知道这是怎么回事。我有一个如下所示的数据库表:

enter image description here

有了这些数据:

enter image description here

当我在 phpmyadmin 中运行此查询 SELECT * FROM game WHERE id = 4 时,我按预期返回了此结果:

enter image description here

但是当我通过rest api(其中gameId = 4)对其进行查询时

var query = connection.query("SELECT * FROM game WHERE id = ? ",[game.gameId],function(err,rows){ 

我得到这个结果

enter image description here

由于某种原因,adminId 已减一。我真的不知道发生了什么事。我尝试过放下 table 并将其重新安装起来,以前有人经历过这种情况吗?或者知道出了什么问题吗?真是令人沮丧!谢谢

最佳答案

JavaScript 可以安全表示的最大整数是 Number.MAX_SAFE_INTEGER ,即 2^53 - 1。您的值大于该值,这会导致一些位丢失。

node-mysql 具有将 BIGINT 解析为字符串的 supportBigNumbersbigNumberStrings 选项。

var connection = mysql.createConnection({
                            supportBigNumbers: true,
                            bigNumberStrings: true
                 });

关于Mysql 返回不正确的 bigint 结果 1,非常奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466966/

相关文章:

javascript - NodeJs - [Restful API] 如何分离不同js文件中的app get方法?

node.js - 无法验证hyperledger Node sdk中的第一个证书?

javascript - 路由前检查 HTML 文件是否存在 [Angular JS/Node JS]

java - EJB:自定义身份验证和授权

mysql - mysql 状态排序子句

node.js - meteor 应用程序中的异步回调

wordpress - wp rest api 获取带有元数据的帖子

mysql - 在zend框架2查询中选择四个表

mysql - 管道 SED 输出到 mysql

mysql - 我厚吗? MySQL : "Not unique table/alias" on LEFT JOIN