首页 文章

在Firefox中的SQLite Manager插件中不会保存大数字

提问于
浏览
1

我正在使用SQLite Manager(在Mozilla Firefox中添加)我试图在表格中插入一个17位数字(更大数字的相同问题) . 例如:

INSERT INTO Table (ColA)
VALUES(2305843009213693951)

如果 ColA 的类型为 INTEGER', 'REAL', 'DOUBLE', 'FLOAT' or 'NUMERIC ,那么它无效 . 我得到的不是 2305843009213693951 - > 2305843009213694000 如果 ColA 的类型为 TEXTVARCHAR 那么它的工作正常 .

但我想使用一些整数类型而不解析字符串和int类型 .

有谁知道这个问题,可以告诉我有什么问题吗?另外,还有另一个sqlite管理工具可以支持吗?我更喜欢继续使用当前的工具(非常简单和漂亮 - 这个插件) .

1 回答

  • 1

    数据实际上是正确存储的 . 我使用 sqlite3 命令行工具验证了这一点 .

    问题只是SQLite Manager中的表示 . 加载项是用Javascript编写的,它缺少对 int64 /大整数类型的支持 . 因此,当查询数据时,大整数将在显示之前在Javascript中转换为双精度浮点数,并且 double 不能正确表示整数 .

    你可以自己尝试一下:

    • 在任何页面上打开Web控制台

    • 输入: 2305843009213693951

    • 结果: 2305843009213694000

    您可以要求附加组件的作者解决此问题 .

相关问题