当我尝试从我的 sqlite3 数据库中选择数据并使用 node.js 模块 better-sqlite3 获取值时,我遇到了我得到的整数的最后两位被四舍五入的问题。
例如,当我得到它的值时
123412341234123412
,它返回为
123412341234123400
我使用了与我在 DB Browser 中选择值完全相同的 SQL,它可以按我的预期工作(没有四舍五入),但是当我在 better-sqlite3 中执行此操作时,它总是四舍五入。
这是我在 Better-sqlite 中使用的代码:
let getClocked = db.prepare("SELECT messageID FROM clocked WHERE clockedUID = ?").get(id)
console.log(getClocked)
控制台中的返回值:
{ messageID: 643562287101116400 }
我数据库中的值(与插入的值相同,使用 DB Browser for SQLite 查看):
643562287101116427
我也尝试过使用 .all()、.iterate()、.pluck() 和 .raw() 而不是/与 .get() 一起使用,这给了我相同的结果。表中的其他值也会发生。
(这是我用来创建表的 SQL):
CREATE TABLE IF NOT EXISTS "clocked" (
"clockedUID" INTEGER NOT NULL UNIQUE,
"time" TEXT NOT NULL,
"messageID" INTEGER,
PRIMARY KEY("clockedUID")
);
SQLite 和 Better-sqlite3 的新手,因此感谢您的帮助!谢谢!