0

当我尝试从我的 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 的新手,因此感谢您的帮助!谢谢!

4

0 回答 0