Database

텍스트 파일을 database에 저장하는 방법

TechNote.kr 2015. 10. 27. 23:51
728x90

mysql> select version();

+-------------------------+

| version()               |

+-------------------------+

| 5.5.44-0ubuntu0.14.04.1 |

+-------------------------+

1 row in set (0.00 sec)

mysql 5.5.44 기준으로 다음과 같다.


입력할 Data 파일의 양식은 다음과 같이 TAB으로 구분자를 주면 된다.


ITEM<TAB>ITEM<TAB>ITEM

ITEM<TAB>ITEM<TAB>ITEM

ITEM<TAB>ITEM<TAB>ITEM

... 



그리고 기본 명령어는 다음과 같다.

mysql> load data local infile "data.txt" into table TABLENAME;


mysql> load data local infile "data.txt" into table TABLENAME;

ERROR 1148 (42000): The used command is not allowed with this MySQL version

하지만 ERROR 1148이 발생하고, 해당 command는 이 version의 mysql에서는 지원하지 않는다고 한다.

그렇다면 방법이 없을까?


해당 command를 실행하기 위한 방법은 2가지가 있다.


1. config 실행파일 설정 변경

[my.cnf]

[mysql]

local-infile=1


2. mysql 실행시 option 추가

$ mysql -u ID -p --local-infile=1 DATABASE_NAME


위와 같이 실행하면 아래와 같이 정상 실행된다.

mysql> load data local infile "data.txt" into table TABLENAME;

Query OK, 202 rows affected, 202 warnings (0.02 sec)

Records: 202  Deleted: 0  Skipped: 0  Warnings: 202


결과에 Warnings 가 다량으로 찍혀 확인해 보니 다음과 같았다.


확인 방법 (mysql warnings)

mysql> show warnings;

+---------+------+-------------------------------------------+

| Level   | Code | Message                                   |

+---------+------+-------------------------------------------+

| Warning | 1265 | Data truncated for column 'COLUMN' at row 1  |

....


728x90