2013-09-30 2 views
0

텍스트 파일 데이터를 테이블 열에 삽입하고 싶습니다. 다음 코드를 사용하고 있습니다.mysql의 열에 텍스트 파일 내용 삽입

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

하지만 '무엇'열에 null 데이터를 삽입합니다. 도와주세요. 미리 감사드립니다.

+0

보고 된 내용이 있는지 확인하려면 mysql 로그를 확인하십시오.하지만 @Nadeem_MK가 여기에 있고 사용 권한이 있고 파일 크기가 같다고 생각합니다. – gwillie

답변

1

MySQL LOAD_FILE()은 파일을 읽고 파일 내용을 문자열으로 반환합니다.

이 기능을 사용하려면 파일이 호스트 서버에 있어야하며 사용자는 파일의 전체 경로 이름을 지정해야하며 사용자는 FILE 권한이 있어야합니다. 파일은 읽을 수 있어야하며 크기는 max_allowed_packet (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 행을. */