我知道有LOAD DATA INFILE
語句,它允許我將結構化數據插入到表中。將文件內容插入到MySQL表的列中
我很好奇的是,是否可以將文件的內容插入到單個列中。所以,是這樣的:
INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD DATA INFILE 'my_file');
可能嗎?
我知道有LOAD DATA INFILE
語句,它允許我將結構化數據插入到表中。將文件內容插入到MySQL表的列中
我很好奇的是,是否可以將文件的內容插入到單個列中。所以,是這樣的:
INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD DATA INFILE 'my_file');
可能嗎?
是的,這是可能的。您可以使用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
所需的相同特權。
編輯:我理解你錯了,對不起,Daniel Vassallo有正確的答案。可能這是有用的無論如何
我認爲你正在尋找BLOB
或TEXT
,見docs。如果你想將文件日期存儲在數據庫中,這些就是你可能要查找的內容
我的問題的提法不清楚嗎? (即我應該修改它嗎?) – 2010-06-23 11:33:24
不,重新閱讀你的問題後,我完全理解它。答案太快了;) – DrColossos 2010-06-23 11:49:19
謝謝,這正是我所需要的。 – 2010-06-23 11:31:53
不幸的是,LOAD_FILE似乎是在Linux上崩潰的bug。 http://bugs.mysql.com/bug.php?id=38403 – ehfeng 2012-11-27 15:49:39
我們可以使用全局屬性來輸入文件,如c:/ something – 2013-11-10 07:32:30