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