gpt4 book ai didi

sqlite - 关联性为TEXT的SQLite列仍将长号存储为INTEGER

转载 作者:行者123 更新时间:2023-12-03 14:57:35 25 4
gpt4 key购买 nike

我有一个名为deliverysimp的表,试图在其中插入一些数据。我知道这些列的数据类型只是关联性,而不是限制,但是我需要将下面的parcelid列存储为TEXT

CREATE TABLE IF NOT EXISTS deliverysimp (parcelid TEXT, expected integer, primary key (parcelid))


我正在使用以下javascript将数据插入数据库:

context.executeSql("INSERT INTO deliverysimp(parcelid, expected) values(?,?)",
[
'' + delivery.parcelid,
delivery.expected
], function () { }, me.ErrorHandler);


您可以看到我尝试在包裹之前添加一个空白的 '' +来尝试强制执行亲和力,但是如果没有,行为是相同的。即:

如果我尝试存储宗地 33333333333322222222222222222222223,则将其作为 3.3333333333322223e+34存储到数据库中,我需要将其作为文本/字符串表示形式。

有什么想法可以让SQLite将此命名为 TEXT吗?

最佳答案

我怀疑您已经有一个字符串,只是没有您期望的字符串。由于您拥有的数字不能用8字节整数表示,因此它将转换为实数,然后转换为字符串,即'3.3333333333322223e + 34'。因此,如果您希望该值为“ 33333333333322222222222222222222222223”,那么这就是您必须插入表中的内容。

要进行检查,请使用SELECT parcelid, TYPEOF(parcelid) FROM deliverysimp;命令行工具执行sqlite3并查看得到的内容。

关于sqlite - 关联性为TEXT的SQLite列仍将长号存储为INTEGER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com