2013-09-30 52 views
0

我想將文本文件數據插入到我的表列中。 爲此,我使用以下代碼。將文本文件內容插入到mysql中的列

INSERT INTO uncompress 
(stamp, what) VALUES 
(NOW(), LOAD_FILE('D:/test.txt')); 

但它在'what'列插入空數據。 請幫幫我。在此先感謝

+0

檢查你的mysql日誌,看看是否有任何報告,但我認爲@Nadeem_MK是它,權限和文件大小 – gwillie

回答

1

MySQL LOAD_FILE()讀取文件並返回文件內容作爲字符串

要使用此功能,文件必須位於主機服務器上,用戶必須指定文件的完整路徑名,並且用戶必須具有FILE權限。該文件必須是可讀的,並且大小必須小於max_allowed_pa​​cket(在my.ini文件中設置)字節。

如果文件不存在或無法讀取,則返回NULL。

0

您正在尋找load data infile

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

例如:在5.078秒進口

CREATE TABLE `mytable` (
    `Account` VARCHAR(255) NOT NULL, 
    `Month` DATE NOT NULL, 
    `Device` VARCHAR(255) NOT NULL, 
    `Campaign` VARCHAR(128) NOT NULL, 
    `Keyword` VARCHAR(255) NOT NULL, 
    `Customer_ID` VARCHAR(255) NOT NULL, 
    `Keyword_state` VARCHAR(255) NOT NULL, 
    `Match type` VARCHAR(255) NOT NULL, 
    `Max_CPC` DECIMAL(10,5) NOT NULL, 
    `Clicks` INT(11) NOT NULL, 
    `Impressions` INT(11) NOT NULL, 
    `CTR` VARCHAR(255) NOT NULL, 
    `avg_CPC` DECIMAL(10,5) NOT NULL, 
    `avg_CPM` VARCHAR(255) NOT NULL, 
    `Cost` VARCHAR(255) NOT NULL, 
    `avg_Pos` DECIMAL(10,5) NOT NULL 
) 
COLLATE='utf8_general_ci' 
ENGINE=InnoDB; 



LOAD DATA LOW_PRIORITY LOCAL INFILE 
'C:\\Users\\Adr\\Desktop\\Keyword performance report.csv' 
REPLACE INTO TABLE `mydatabase`.`mytable` 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(`Account`, `Month`, `Device`, `Campaign`, `Keyword`, `Customer_ID`, `Keyword_state`, `Match type`, `Max_CPC`, `Clicks`, `Impressions`, `CTR`, `avg_CPC`, `avg_CPM`, `Cost`, `avg_Pos`); 

/* 133999行。 */

相關問題