1

我正在使用 SQLite 管理器(Mozilla Firefox 中的插件)我正在尝试将一个 17 位数字(对于更大的数字也有同样的问题)插入到一个表中。例如:

INSERT INTO Table (ColA)
VALUES(2305843009213693951)

如果ColA有一种类型,INTEGER', 'REAL', 'DOUBLE', 'FLOAT' or 'NUMERIC则它不起作用。我得到而不是2305843009213693951-> 2305843009213694000 IfColA有一个类型TEXTorVARCHAR然后它工作得很好。

但我想使用一些整数类型而不在字符串和 int 类型之间进行解析。

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

4

1 回答 1

1

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

问题仅仅是 SQLite Manager 中的演示。该插件是用 Javascript 编写的,它不支持int64/big 整数类型。所以在查询数据时,大整数在显示之前会在Javascript中转换成双精度浮点数,double不能正确表示整数。

你可以自己试试这个:

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

您可以要求插件的作者解决此问题。

于 2013-09-15T10:46:55.950 回答