2012-09-24 49 views
0

如何使用LOAD DATA INFILE語法和Number Of行將插入到表中?
我用這個查詢:MySQL - LOAD DATA INFILE與文件行號

LOAD DATA INFILE 'D:/home/TAM/input/Upload/DOC20120919000000.csv' INTO TABLE tb_t_doc_d 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES (rrn_no, new_color_cd, new_main_dealer_cd, new_zone_cd, new_branch_cd, new_destination_cd, @var) 
SET process_id = '1209219999999999', transaction_id = 'DC201209219999', reference = 
trim(TRAILING '\r' FROM @var), created_dt = sysdate(), created_by = "DIDIT", updated_dt = 
sysdate(), updated_by = "DIDIT", file_line_no = ???? ; 

我應該怎麼填寫上file_line_no = ????

回答

1

這應有助於:

set @row = 0; 
LOAD DATA INFILE 'D:/home/TAM/input/Upload/DOC20120919000000.csv' INTO TABLE tb_t_doc_d 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES (rrn_no, new_color_cd, new_main_dealer_cd, new_zone_cd, new_branch_cd,  new_destination_cd, @var) 
SET process_id = '1209219999999999', transaction_id = 'DC201209219999', reference = 
trim(TRAILING '\r' FROM @var), created_dt = sysdate(), created_by = "DIDIT", updated_dt = 
sysdate(), updated_by = "DIDIT", file_line_no = @row:[email protected]+1;