2014-03-28 49 views
1

我見過「將文本文件導入到sqlite」的各種討論,但它們似乎都意味着文本文件應該被逐行讀入並插入單個記錄中。然而,我想將文本文件的全部內容移動到一個單獨的記錄中,比如稱爲FileCont NVARCHAR(MAX)。所以,例如,我有50個文本文件,它們應該放入50個單獨的表中。顯然,我不想將所有的實際文本都塞進INSERT語句中 - 或者我呢?這將是最好的,如果INSERT語句有某種佔位符,即sqlite:插入完整的文本文件到記錄字段

INSERT INTO tbl (... FileCont ...) VALUES (... $text-file-contents ...); 

我的計劃-B是隻存儲鏈接到每個記錄實際的文本文件,但我想避免那。

回答

0

您是否將純SQLite SQL代碼編寫爲腳本並直接提交給SQLite?然後,是的,您需要編寫包含要存儲的每個文件的全部內容的INSERT語句。

如果你發出另一種語言(Python和PHP等)的INSERT語句的話,你可以使用參數語句和每一個文本文件加載到一個字符串變量。

+0

謝謝。我有點知道你的意思,但你能給我一個PHP的例子,使用這樣的參數化語句嗎? – 147pm

+0

請注意,如果文件包含NUL,則將其作爲字符串而不是blob插入將導致文件在第一個NUL處被截斷。 –

+0

我猜這樣的東西:$ q =「INSERT INTO」。 TB_PREFIX。 「mdata values(... $ big_text ...)」;但作爲一個PHP初學者(這個項目必須基於Web),我不知道如何將文本內容附加到$ big_text。 – 147pm

相關問題