2013-06-07 6 views
0

누구든지이 문제를 겪었는지 잘 모르겠습니다.SQLite가 텍스트 문서를 제대로 가져 오지 못합니다.

기본적으로 약 100,000 줄의 텍스트 문서가 있고 SQLite 테이블에 단일 열로 가져 오려고합니다.

그런 다음 일반 쿼리 SELECT * FROM table WHERE field LIKE "%something%"을 수행했을 때 관련성이없는 결과가 나타났습니다. 더 자세히 살펴보면 원래 텍스트 파일의 일부 줄이 거대한 행 항목에 연결되어있는 이유가 나타납니다. 이것은 잘못된 결과 (단순히 거대한 행이 일치하기 때문 임)의 인상을줍니다. 100,000 개의 레코드 대신에, 나는 홀수가 50,000이고 LENGTH(field)> 1,000,000이 넘는 레코드가 2 개 있습니다.

내 마음에 가장 먼저 들어온 것은 특수 문자가 엉망이 될 가능성이 있기 때문에 BASH에서 strings FILE을 작성했습니다. 문제는 지속되었다.

짧은 이야기 만하면 누구나이 문제의 원인을 알 수 있습니까? 테이블에 단일 필드가 있다고 가정 할 때 구분 기호가이 권한과 관련이 있다고 생각하지 않습니다.

+0

어떻게 문서를 가져 왔습니까? –

+0

.import FILE table –

+1

이 명령은 .CSV 파일 용입니다. 어쨌든, 텍스트 파일에 올바른 줄 끝 표시가없는 것 같습니다. –

답변

0

저는이 문제를 csv에서 문자열 인용을 위해 예약 된 불균형 큰 따옴표로 추적했습니다. 그래서 한 줄에 열린 인용문이 있으면 다음 줄을 찾을 때 레코드로만 계산됩니다. - 여러 줄이 될 수 있습니다.

관련 문제