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

Mysql returning incorrect bigint result by one, very strange error

真不知道这是怎么回事。我有一个数据库 table,看起来像这样:

有了这个数据:

当我在 phpmyadmin 中 运行 这个查询 SELECT * FROM game WHERE id = 4 时,我得到了预期的结果:

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

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

我得到这个结果

其中 adminId 由于某种原因被减一。我真的不知道发生了什么。我试过删除 table 并将其重新设置,以前有人遇到过这种情况吗?或者知道哪里出了问题?真令人沮丧!谢谢

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

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

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