我真的不知道这是怎么回事。我有一个看起来像这样的数据库表:
有了这些数据:
当我在 phpmyadmin 中运行这个查询 SELECT * FROM game WHERE id = 4
时,我得到了预期的结果:
但是当我通过 rest 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 有 supportBigNumbers
和 bigNumberStrings
选项将 BIGINT
解析为字符串。
var connection = mysql.createConnection({
supportBigNumbers: true,
bigNumberStrings: true
});
关于Mysql 返回一个不正确的 bigint 结果,非常奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28759036/