我正在使用SQLite Manager(Mozilla Firefox中的插件) 我正试图在表格中插入一个17位数字(更大数字的相同问题)。例如:
INSERT INTO Table (ColA)
VALUES(2305843009213693951)
如果ColA
的类型为INTEGER', 'REAL', 'DOUBLE', 'FLOAT' or 'NUMERIC
,那么它就无效了。我得而不是2305843009213693951
- > 2305843009213694000
如果ColA
的类型为TEXT
或VARCHAR
,那么它的工作正常。
但我想使用某种整数类型而不在string和int类型之间进行解析。
有谁知道这个问题,可以告诉我出了什么问题? 还有,还有另一个sqlite管理工具,它支持它吗? 我更喜欢继续使用当前的工具(非常简单和好用 - 这个插件)。
答案 0 :(得分:1)
数据实际存储正确。我使用sqlite3
命令行工具验证了这一点。
问题仅在于SQLite Manager中的演示。加载项是用Javascript编写的,它缺少对int64
/大整数类型的支持。因此,当查询数据时,大整数将在显示之前在Javascript中转换为双精度浮点数,并且double
不能正确表示整数。
您可以自己尝试一下:
2305843009213693951
2305843009213694000
您可以要求附加组件的作者解决此问题。