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

时间:2013-09-15 10:31:32

标签: sql sqlite firefox digits

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

INSERT INTO Table (ColA)
VALUES(2305843009213693951)

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

但我想使用某种整数类型而不在string和int类型之间进行解析。

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

1 个答案:

答案 0 :(得分:1)

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

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

您可以自己尝试一下:

  • 在任何页面上打开Web控制台
  • 输入:2305843009213693951
  • 结果:2305843009213694000

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