【发布时间】:2008-10-14 20:43:11
【问题描述】:
如果我尝试将具有 20 位主键的数据插入 SQLite 数据库,第二个插入语句会出错,因为它“不是唯一的”。 如果我选择可以从 SQLite 命令提示中看到的值,则主键是以科学计数法编写的。 列类型为十进制。有没有办法强制 SQLite “按原样”插入值,即使值那么长,也能保持精度/“正常表示”?
【问题讨论】:
标签: database sqlite primary-key
如果我尝试将具有 20 位主键的数据插入 SQLite 数据库,第二个插入语句会出错,因为它“不是唯一的”。 如果我选择可以从 SQLite 命令提示中看到的值,则主键是以科学计数法编写的。 列类型为十进制。有没有办法强制 SQLite “按原样”插入值,即使值那么长,也能保持精度/“正常表示”?
【问题讨论】:
标签: database sqlite primary-key
将其插入为“字符串”,而不是数字。
【讨论】:
主键字段必须是整数,最大值为9223372036854775807。使用单独的(索引)字段,并将值作为字符串插入。
【讨论】:
奇怪,听起来您的包装器将数字作为浮点数放入。我认为 DECIMAL 在内部映射到整数。使用字符串会起作用,但对字符串而不是 int 的索引可能会很慢。
【讨论】:
INTEGER PRIMARY KEY 列,确实需要一个 64 位有符号整数。