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 가 중단 되는 경우가 있을까요?