2010-06-23 52 views
17

我知道有LOAD DATA INFILE語句,它允許我將結構化數據插入到表中。將文件內容插入到MySQL表的列中

我很好奇的是,是否可以將文件的內容插入到單個列中。所以,是這樣的:

INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD DATA INFILE 'my_file'); 

可能嗎?

回答

31

是的,這是可能的。您可以使用LOAD_FILE()功能:

CREATE TABLE my_table (stamp datetime, what text); 

INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD_FILE('/tmp/my_file.txt')); 

你必須確保該文件是可讀的由MySQL,和你的MySQL用戶有FILE特權。這是LOAD DATA INFILE所需的相同特權。

+0

謝謝,這正是我所需要的。 – 2010-06-23 11:31:53

+0

不幸的是,LOAD_FILE似乎是在Linux上崩潰的bug。 http://bugs.mysql.com/bug.php?id=38403 – ehfeng 2012-11-27 15:49:39

+0

我們可以使用全局屬性來輸入文件,如c:/ something – 2013-11-10 07:32:30

0

編輯:我理解你錯了,對不起,Daniel Vassallo有正確的答案。可能這是有用的無論如何

我認爲你正在尋找BLOBTEXT,見docs。如果你想將文件日期存儲在數據庫中,這些就是你可能要查找的內容

+0

我的問題的提法不清楚嗎? (即我應該修改它嗎?) – 2010-06-23 11:33:24

+0

不,重新閱讀你的問題後,我完全理解它。答案太快了;) – DrColossos 2010-06-23 11:49:19

相關問題