0
MySQL의 LOAD DATA LOCAL INFILE 기능을 사용하여 텍스트 파일의 레코드 줄을 테이블로로드합니다. 다 잘 작동하지만 내 테이블의 LINE_NUMBER 열에 텍스트 파일의 행 번호를 어떻게 삽입 할 수 있을지 궁금합니다.MySQL - 데이터 infile - 테이블에 행 번호를 읽고 삽입하는 방법?
public String getLoadDataSQL() throws Exception {
StringBuffer sb = new StringBuffer();
sb.append("LOAD DATA LOCAL INFILE '"+ filePath +"' INTO TABLE "+ this.tableName);
sb.append(" LINES TERMINATED BY '\\n'");
sb.append(" (@line) ");
sb.append(" SET ROLL_NUMBER = substr(@line,1,9), ");
sb.append(" LAST_NAME = substr(@line,10,30), ");
....
sb.append(" LINE_NUMBER = "+ ????? +", "); // WHAT TO DO HERE??
...
System.out.println(sb.toString());
return sb.toString();
}
제발 어떻게 할 수 있겠 니?
제안 해 주셔서 감사합니다. 시도했지만 AUTO_INCREMENT 논리 내 문제에 적합하지 않은 것 같습니다. – gtiwari333
@gt_ebuddy AUTO_INCREMENT 컬럼이있는 임시 테이블로 가져 오기를 먼저 수행 한 다음 해당 데이터를 최종 목적지에 복사 할 수 있습니까? 그런 다음 줄 번호를 항상 1로 시작할 수 있으며 AUTO_INCREMENT의 논리가 간섭하지 않을지 걱정하지 않아도됩니다. 저의 접근 방식은 저의 호스팅 회사가 임시 테이블을 사용할 수 없다고 말할 때까지 저를 위해 일하고있었습니다. 이것은 우리가 여기서 우리의 문제에 대한 다른 대답을 찾는 방법입니다. – bugloaf