我正在使用SQLite 3.7.4(在Ubuntu PP下我的c ++应用程序中),当我尝试保存像“000000”这样的字符串时,它只保存一个字符“0”。我也在控制台中试过它 - 是功能还是bug?我怎么能摆脱它?
例如:
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
答案 0 :(得分:2)
一些快速的研究指出STRING
不是SQLite中的公认类型(或者,我相信,大多数其他SQL方言)。但是,SQLite对其类型并不严格,因此类型默认为NUMERIC
。您应该可以将列类型更改为TEXT
以解决您的问题。
进一步阅读:Type Affinity
答案 1 :(得分:1)
“STRING”不是SQLite数据类型。试试“TEXT”。