2013-07-30 65 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 

的問題,我我的意思是,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函數。默認情況下,該功能不允許設置列,因爲列列表是隻讀的。但我修改了函數以允許設置列名。系統進行修改後,系統會將數據寫入正確的列並保留時間戳。