我正在使用 SQLite 3.7.4(在我的 Ubuntu PP 下的 c++ 应用程序中),当我尝试保存像“000000”这样的字符串时,它只保存了一个字符“0”。我也在控制台中尝试过 - 它是功能还是错误?我怎样才能摆脱它?
例如:
CREATE TABLE status (readTime INTEGER, status STRING);
INSERT INTO status (readTime, status) values(1234, "000000");
INSERT INTO status (readTime, status) values(4321, "111111");
SELECT * FROM status;
1234|0
4321|111111
最佳答案
一些快速研究表明 STRING
在 SQLite(或者,我相信,大多数其他 SQL 方言)中不是可识别的类型。然而,SQLite 对其类型并不严格,因此类型默认为 NUMERIC
。您应该能够将列类型更改为 TEXT
以解决您的问题。
进一步阅读:Type Affinity
关于SQLite 不保存由零组成的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17413296/