load data 방법이 궁금합니다 0 0 2,327

by 개리끼리 [MySQL] load data [2016.11.01 15:46:04]


load data local infile 'E:/DATA/test.txt' 
into table BI_FRM_POL 
fields TERMINATED BY '\t'  
optionally enclosed by '\''
escaped by '\\' 
escaped by '\(' 
escaped by '\)'
escaped by '"'
escaped by '\,'
lines terminated by '\n' (@TEST_NO, TEST_SEQ, TEST_CD,) 
set TEST_NO=PK_RETURN(@TEST_NO));

'구'   tab    '루'    tab    '비'

'구'   tab    '루'    tab    '비'

이렇게 되어있는 텍스트파일에 있는 데이터를 집어넣으려고 하는데요

만약에 데이터 안에 엔터가 있다면 어떻게 해야하는지 모르겠습니다.

'구

비'

저는 행을 엔터로 구분하고 있는데

저렇게 데이터안에 엔터가 들어가버리면 '구'만 들어가고 나머지는 어디로 날라가 버립니다...

escaped by '\n' 으로 하자니 행 구분자를 무시해버려서 데이터가 아예 안들어가게 되구요 ㅠㅠ

그리고 3만건정도의 데이터를 넣었더니 Lookup Error - MySQL Database Error: Net packets out of order: received[205], expected[142] 이런 메시지가 뜹니다.

저는 아마 TEST_NO를 PK_RETURN함수를 사용하여 INSERT하고 있기때문에

데이터가 꼬여버린건가 생각하고 있습니다...

- 추가 -

TEST_NO가 FK 입니다. PK_RETURN(TEST_NO)를 했을때 다른테이블의 TEST_NO를 얻어오는데

다른테이블에 TEST_NO가 없는 경우가 있습니다. 그럼 NULL을 받아올텐데

그렇게 되면 TEST_NO가 NULL인 행이 생기게 되겠죠?

이런 행이 많아지면 혹시 LOAD_DATA 가 중단 되는 경우가 있을까요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입