2013-07-30 2 views
0

거대한 데이터 세트로 작업 중이며 MySQLBulkLoader를 사용하여 데이터베이스로 데이터를 가져옵니다. 그러나 MySQLBulkLoader 자동 업데이트되는 내 타임 스탬프 열을 덮어 쓰는 문제가 있습니다. 아래 그림과 같이C# MySQLBulkLoader 타임 스탬프 덮어 쓰기

Timestamp | Name | Age | Height 
-------------------------------- 
2011-01-01 | Jeff | 30 | 183 
2012-02-03 | Bob | 55 | 165 
2016-04-05 | Sue | 33 | 155. 

나는 MySQLBulkLoader에로드하고 데이터 파일이 마지막 세 개의 열을 포함하는 CSV는 다음과 같습니다 : 나는 다음과 같은 구조를 가지고 가정 상황화하려면

Name,Age,Height 
Jeff,30,183 
Bob,55,165 
Sue,33,155 

문제를 I CSV의 첫 번째 열이 데이터베이스의 첫 번째 열에 쓰는 것입니다. 그래서 나는 할 수 있어야합니다 :첫 번째 열 또는 대량 삽입 또는

  • 대량 삽입부분 집합에 열
  • 감사를 무시

    • , 당신의 도움을 주시면 감사하겠습니다.

    답변

    3

    질문에 대한 답을 제공하기 만하면됩니다. My SQL 함수 :

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' 
        [REPLACE | IGNORE] 
        INTO TABLE tbl_name 
        [CHARACTER SET charset_name] 
        [{FIELDS | COLUMNS} 
         [TERMINATED BY 'string'] 
         [[OPTIONALLY] ENCLOSED BY 'char'] 
         [ESCAPED BY 'char'] 
        ] 
        [LINES 
         [STARTING BY 'string'] 
         [TERMINATED BY 'string'] 
        ] 
        [IGNORE number LINES] 
        [(col_name_or_user_var,...)] 
        [SET col_name = expr,...] 
    

    열 이름을 지정하여 특정 열에 데이터를로드 할 수 있습니다. 수동으로 쿼리를 생성하여이 작업을 수행하는 데 어려움을 겪었지만 MySQLBulkLoader 함수를 수정할 수있었습니다. 기본적으로이 함수는 열 목록이 읽기 전용이므로 열 설정을 허용하지 않습니다. 그러나 열 이름 설정을 허용하도록 함수를 수정했습니다. 수정이 이루어지면 시스템은 데이터를 올바른 열에 쓰고 타임 스탬프가 유지됩니다.