2013-07-01 91 views
3

我使用SQLite 3.7.4(在我的c + +應用程序下的Ubuntu PP),當我試圖保存字符串「000000」時,它只保存一個字符「0」。我也在控制檯上試了一下 - 它是功能還是bug?我怎樣才能擺脫這一點?SQLite不保存零的字符串

例如:

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

[攝製](http://www.sqlfiddle.com/#!5/43014/1) –

+1

「STRING」 不是一個SQLite數據類型。試試「TEXT」。 –

+0

@HotLicks - 奇怪的是,如果在模式中放入了無效的數據類型,SQLLite會播放「猜數據類型」嗎? –

回答

1

「STRING」 不是一個SQLite數據類型。試試「TEXT」。

2

一些快速研究指出,STRING不是SQLite(或我相信,大多數其他SQL方言)中公認的類型。但是,SQLite對其類型並不嚴格,所以默認類型爲NUMERIC。您應該能夠將列類型更改爲TEXT以解決您的問題。

進一步閱讀:Type Affinity

+0

是的,你是對的,謝謝! – shmoula

+0

似乎你剛剛在評論中有答案,我應該更頻繁地刷新:) –

+0

是的,對不起 - 我可以標記一個答案;-) – shmoula